diff --git a/nixos/modules/services/misc/nzbget.nix b/nixos/modules/services/misc/nzbget.nix index a2726d4550090b..4738baf6d3e5c2 100644 --- a/nixos/modules/services/misc/nzbget.nix +++ b/nixos/modules/services/misc/nzbget.nix @@ -1,7 +1,6 @@ { config, pkgs, lib, ... }: let cfg = config.services.nzbget; - pkg = pkgs.nzbget; stateDir = "/var/lib/nzbget"; configFile = "${stateDir}/nzbget.conf"; configOpts = lib.concatStringsSep " " (lib.mapAttrsToList (name: value: "-o ${name}=${lib.escapeShellArg (toStr value)}") cfg.settings); @@ -24,6 +23,8 @@ in services.nzbget = { enable = lib.mkEnableOption "NZBGet, for downloading files from news servers"; + package = lib.mkPackageOption pkgs "nzbget" { }; + user = lib.mkOption { type = lib.types.str; default = "nzbget"; @@ -64,8 +65,8 @@ in InfoTarget = "screen"; DetailTarget = "screen"; # required paths - ConfigTemplate = "${pkg}/share/nzbget/nzbget.conf"; - WebDir = "${pkg}/share/nzbget/webui"; + ConfigTemplate = "${cfg.package}/share/nzbget/nzbget.conf"; + WebDir = "${cfg.package}/share/nzbget/webui"; # nixos handles package updates UpdateCheck = "none"; }; @@ -81,7 +82,7 @@ in preStart = '' if [ ! -f ${configFile} ]; then - ${pkgs.coreutils}/bin/install -m 0700 ${pkg}/share/nzbget/nzbget.conf ${configFile} + ${pkgs.coreutils}/bin/install -m 0700 ${cfg.package}/share/nzbget/nzbget.conf ${configFile} fi ''; @@ -92,8 +93,8 @@ in Group = cfg.group; UMask = "0002"; Restart = "on-failure"; - ExecStart = "${pkg}/bin/nzbget --server --configfile ${stateDir}/nzbget.conf ${configOpts}"; - ExecStop = "${pkg}/bin/nzbget --quit"; + ExecStart = "${cfg.package}/bin/nzbget --server --configfile ${stateDir}/nzbget.conf ${configOpts}"; + ExecStop = "${cfg.package}/bin/nzbget --quit"; }; };