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