diff --git a/nixarr/transmission/cross-seed/default.nix b/nixarr/transmission/cross-seed/default.nix index 7a26309..7ad604a 100644 --- a/nixarr/transmission/cross-seed/default.nix +++ b/nixarr/transmission/cross-seed/default.nix @@ -54,14 +54,14 @@ in { }; user = mkOption { - type = types.str; - default = "cross-seed"; + type = types.nullOr types.str; + default = null; description = "User account under which cross-seed runs."; }; group = mkOption { - type = types.str; - default = "cross-seed"; + type = types.nullOr types.str; + default = null; description = "Group under which cross-seed runs."; }; }; @@ -81,6 +81,18 @@ in { The settings.torrentDir option must be set if cross-seed is enabled. ''; } + { + assertion = cfg.enable -> cfg.user != null; + message = '' + The user option must be set if cross-seed is enabled. + ''; + } + { + assertion = cfg.enable -> cfg.group != null; + message = '' + The group option must be set if cross-seed is enabled. + ''; + } ]; systemd.tmpfiles.rules = diff --git a/nixarr/transmission/default.nix b/nixarr/transmission/default.nix index 3777f11..cc1dea4 100644 --- a/nixarr/transmission/default.nix +++ b/nixarr/transmission/default.nix @@ -287,7 +287,6 @@ in { users = { groups.${globals.transmission.group}.gid = globals.gids.${globals.transmission.group}; - groups.${globals.cross-seed.group}.gid = globals.gids.${globals.cross-seed.group}; users.${globals.transmission.user} = { isSystemUser = true; group = globals.transmission.group; @@ -296,10 +295,10 @@ in { }; systemd.tmpfiles.rules = [ - "d '${cfg.stateDir}' 0750 ${globals.transmission.user} ${globals.cross-seed.group} - -" + "d '${cfg.stateDir}' 0750 ${globals.transmission.user} ${globals.transmission.group} - -" # This is fixes a bug in nixpks (https://github.com/NixOS/nixpkgs/issues/291883) - "d '${cfg.stateDir}/.config' 0750 ${globals.transmission.user} ${globals.cross-seed.group} - -" - "d '${cfg.stateDir}/.config/transmission-daemon' 0750 ${globals.transmission.user} ${globals.cross-seed.group} - -" + "d '${cfg.stateDir}/.config' 0750 ${globals.transmission.user} ${globals.transmission.group} - -" + "d '${cfg.stateDir}/.config/transmission-daemon' 0750 ${globals.transmission.user} ${globals.transmission.group} - -" # Media Dirs "d '${nixarr.mediaDir}/torrents' 0755 ${globals.transmission.user} ${globals.transmission.group} - -" @@ -315,8 +314,8 @@ in { util-nixarr.services.cross-seed = mkIf cfg-cross-seed.enable { enable = true; dataDir = cfg-cross-seed.stateDir; - user = globals.cross-seed.user; - group = globals.cross-seed.group; + user = globals.transmission.user; + group = globals.transmission.group; settings = { torrentDir = "${cfg.stateDir}/.config/transmission-daemon/torrents";