Merge pull request #8799 from ryantm/master

heyefi service: init

lethalman 636f9ac0 b3d02712

+85
+1
nixos/modules/module-list.nix
··· 288 ./services/networking/gogoclient.nix 289 ./services/networking/gvpe.nix 290 ./services/networking/haproxy.nix 291 ./services/networking/hostapd.nix 292 ./services/networking/i2pd.nix 293 ./services/networking/i2p.nix
··· 288 ./services/networking/gogoclient.nix 289 ./services/networking/gvpe.nix 290 ./services/networking/haproxy.nix 291 + ./services/networking/heyefi.nix 292 ./services/networking/hostapd.nix 293 ./services/networking/i2pd.nix 294 ./services/networking/i2p.nix
+82
nixos/modules/services/networking/heyefi.nix
···
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + 7 + cfg = config.services.heyefi; 8 + in 9 + 10 + { 11 + 12 + ###### interface 13 + 14 + options = { 15 + 16 + services.heyefi = { 17 + 18 + enable = mkEnableOption "heyefi"; 19 + 20 + cardMacaddress = mkOption { 21 + default = ""; 22 + description = '' 23 + An Eye-Fi card MAC address. 24 + ''; 25 + }; 26 + 27 + uploadKey = mkOption { 28 + default = ""; 29 + description = '' 30 + An Eye-Fi card's upload key. 31 + ''; 32 + }; 33 + 34 + uploadDir = mkOption { 35 + example = "/home/username/pictures"; 36 + description = '' 37 + The directory to upload the files to. 38 + ''; 39 + }; 40 + 41 + user = mkOption { 42 + default = "root"; 43 + description = '' 44 + heyefi will be run under this user (user must exist, 45 + this can be your user name). 46 + ''; 47 + }; 48 + 49 + }; 50 + 51 + }; 52 + 53 + 54 + ###### implementation 55 + 56 + config = mkIf cfg.enable { 57 + 58 + systemd.services.heyefi = 59 + { 60 + description = "heyefi service"; 61 + after = [ "network.target" ]; 62 + wantedBy = [ "multi-user.target" ]; 63 + serviceConfig = { 64 + User = "${cfg.user}"; 65 + Restart = "always"; 66 + ExecStart = "${pkgs.heyefi}/bin/heyefi"; 67 + }; 68 + 69 + }; 70 + 71 + environment.etc."heyefi/heyefi.config".text = 72 + '' 73 + # /etc/heyefi/heyefi.conf: DO NOT EDIT -- this file has been generated automatically. 74 + cards = [["${config.services.heyefi.cardMacaddress}","${config.services.heyefi.uploadKey}"]] 75 + upload_dir = "${toString config.services.heyefi.uploadDir}" 76 + ''; 77 + 78 + environment.systemPackages = [ pkgs.heyefi ]; 79 + 80 + }; 81 + 82 + }
+2
pkgs/top-level/all-packages.nix
··· 6531 6532 herqq = callPackage ../development/libraries/herqq { }; 6533 6534 hidapi = callPackage ../development/libraries/hidapi { 6535 libusb = libusb1; 6536 };
··· 6531 6532 herqq = callPackage ../development/libraries/herqq { }; 6533 6534 + heyefi = haskellPackages.heyefi; 6535 + 6536 hidapi = callPackage ../development/libraries/hidapi { 6537 libusb = libusb1; 6538 };