at 17.09-beta 1.1 kB view raw
1{ config, pkgs, lib, mono, ... }: 2 3with lib; 4 5let 6 cfg = config.services.jackett; 7in 8{ 9 options = { 10 services.jackett = { 11 enable = mkEnableOption "Jackett"; 12 }; 13 }; 14 15 config = mkIf cfg.enable { 16 systemd.services.jackett = { 17 description = "Jackett"; 18 after = [ "network.target" ]; 19 wantedBy = [ "multi-user.target" ]; 20 preStart = '' 21 test -d /var/lib/jackett/ || { 22 echo "Creating jackett data directory in /var/lib/jackett/" 23 mkdir -p /var/lib/jackett/ 24 } 25 chown -R jackett:jackett /var/lib/jackett/ 26 chmod 0700 /var/lib/jackett/ 27 ''; 28 29 serviceConfig = { 30 Type = "simple"; 31 User = "jackett"; 32 Group = "jackett"; 33 PermissionsStartOnly = "true"; 34 ExecStart = "${pkgs.jackett}/bin/Jackett"; 35 Restart = "on-failure"; 36 }; 37 }; 38 39 users.extraUsers.jackett = { 40 uid = config.ids.uids.jackett; 41 home = "/var/lib/jackett"; 42 group = "jackett"; 43 }; 44 users.extraGroups.jackett.gid = config.ids.gids.jackett; 45 46 }; 47}