| 
									
										
										
										
											2014-04-14 16:26:48 +02:00
										 |  |  | { config, lib, pkgs, ... }: | 
					
						
							| 
									
										
										
										
											2013-10-14 11:57:40 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-14 16:26:48 +02:00
										 |  |  | with lib; | 
					
						
							| 
									
										
										
										
											2013-10-14 11:57:40 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | let | 
					
						
							|  |  |  |   cfg = config.services.prey; | 
					
						
							|  |  |  |   myPrey = pkgs."prey-bash-client".override { | 
					
						
							|  |  |  |     apiKey = cfg.apiKey; | 
					
						
							|  |  |  |     deviceKey = cfg.deviceKey; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | in { | 
					
						
							|  |  |  |   options = { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     services.prey = { | 
					
						
							|  |  |  |       enable = mkOption { | 
					
						
							|  |  |  |         default = false; | 
					
						
							|  |  |  |         type = types.bool; | 
					
						
							|  |  |  |         description = ''
 | 
					
						
							| 
									
										
										
										
											2015-09-06 04:49:06 +02:00
										 |  |  |           Enables the <link xlink:href="http://preyproject.com/" /> | 
					
						
							|  |  |  |           shell client. Be sure to specify both API and device keys. | 
					
						
							|  |  |  |           Once enabled, a <command>cron</command> job will run every 15 | 
					
						
							|  |  |  |           minutes to report status information. | 
					
						
							| 
									
										
										
										
											2013-10-14 11:57:40 +02:00
										 |  |  |         '';
 | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       deviceKey = mkOption { | 
					
						
							| 
									
										
										
										
											2015-08-17 17:52:45 +00:00
										 |  |  |         type = types.str; | 
					
						
							| 
									
										
										
										
											2015-09-06 04:49:06 +02:00
										 |  |  |         description = ''
 | 
					
						
							|  |  |  |           <literal>Device key</literal> obtained by visiting | 
					
						
							|  |  |  |           <link xlink:href="https://panel.preyproject.com/devices" /> | 
					
						
							|  |  |  |           and clicking on your device. | 
					
						
							|  |  |  |         '';
 | 
					
						
							| 
									
										
										
										
											2013-10-14 11:57:40 +02:00
										 |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       apiKey = mkOption { | 
					
						
							| 
									
										
										
										
											2015-08-17 17:52:45 +00:00
										 |  |  |         type = types.str; | 
					
						
							| 
									
										
										
										
											2015-09-06 04:49:06 +02:00
										 |  |  |         description = ''
 | 
					
						
							|  |  |  |           <literal>API key</literal> obtained from | 
					
						
							|  |  |  |           <link xlink:href="https://panel.preyproject.com/profile" />. | 
					
						
							|  |  |  |         '';
 | 
					
						
							| 
									
										
										
										
											2013-10-14 11:57:40 +02:00
										 |  |  |       }; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   config = mkIf cfg.enable { | 
					
						
							|  |  |  |       environment.systemPackages = [ myPrey ]; | 
					
						
							|  |  |  |       services.cron.systemCronJobs = [ "*/15 * * * * root ${myPrey}/prey.sh" ]; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |