diff --git a/nixarr/stash/default.nix b/nixarr/stash/default.nix deleted file mode 100644 index cedbf41..0000000 --- a/nixarr/stash/default.nix +++ /dev/null @@ -1,138 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; let - cfg = config.nixarr.stash; - globals = config.util-nixarr.globals; - nixarr = config.nixarr; - defaultPort = 9999; -in { - options.nixarr.stash = { - enable = mkOption { - type = types.bool; - default = false; - example = true; - description = '' - Whether or not to enable the stash service. - ''; - }; - - package = mkPackageOption pkgs "stash" {}; - - stateDir = mkOption { - type = types.path; - default = "${nixarr.stateDir}/stash"; - defaultText = literalExpression ''"''${nixarr.stateDir}/stash"''; - example = "/nixarr/.state/stash"; - description = '' - The location of the state directory for the stash service. - - > **Warning:** Setting this to any path, where the subpath is not - > owned by root, will fail! For example: - > - > ```nix - > stateDir = /home/user/nixarr/.state/stash - > ``` - > - > Is not supported, because `/home/user` is owned by `user`. - ''; - }; - - openFirewall = mkOption { - type = types.bool; - defaultText = literalExpression ''!nixarr.stash.vpn.enable''; - default = !cfg.vpn.enable; - example = true; - description = "Open firewall for stash"; - }; - - port = mkOption { - type = types.port; - default = defaultPort; - description = "Port for Stash to use."; - }; - - vpn.enable = mkOption { - type = types.bool; - default = false; - example = true; - description = '' - **Required options:** [`nixarr.vpn.enable`](#nixarr.vpn.enable) - - Route stash traffic through the VPN. - ''; - }; - }; - - config = mkIf (nixarr.enable && cfg.enable) { - assertions = [ - { - assertion = cfg.vpn.enable -> nixarr.vpn.enable; - message = '' - The nixarr.stash.vpn.enable option requires the - nixarr.vpn.enable option to be set, but it was not. - ''; - } - ]; - - users = { - groups.${globals.stash.group}.gid = globals.gids.${globals.stash.group}; - users.${globals.stash.user} = { - isSystemUser = true; - group = globals.stash.group; - uid = globals.uids.${globals.stash.user}; - }; - }; - - services.stash = { - enable = cfg.enable; - settings.port = cfg.port; - package = cfg.package; - user = globals.stash.user; - group = globals.stash.group; - openFirewall = cfg.openFirewall; - dataDir = cfg.stateDir; - }; - - # Enable and specify VPN namespace to confine service in. - systemd.services.stash.vpnConfinement = mkIf cfg.vpn.enable { - enable = true; - vpnNamespace = "wg"; - }; - - # Port mappings - vpnNamespaces.wg = mkIf cfg.vpn.enable { - portMappings = [ - { - from = cfg.port; - to = cfg.port; - } - ]; - }; - - services.nginx = mkIf cfg.vpn.enable { - enable = true; - - recommendedTlsSettings = true; - recommendedOptimisation = true; - recommendedGzipSettings = true; - - virtualHosts."127.0.0.1:${builtins.toString cfg.port}" = { - listen = [ - { - addr = "0.0.0.0"; - port = cfg.port; - } - ]; - locations."/" = { - recommendedProxySettings = true; - proxyWebsockets = true; - proxyPass = "http://192.168.15.1:${builtins.toString cfg.port}"; - }; - }; - }; - }; -} diff --git a/nixarr/transmission/default.nix b/nixarr/transmission/default.nix index cc1dea4..7937410 100644 --- a/nixarr/transmission/default.nix +++ b/nixarr/transmission/default.nix @@ -314,8 +314,8 @@ in { util-nixarr.services.cross-seed = mkIf cfg-cross-seed.enable { enable = true; dataDir = cfg-cross-seed.stateDir; - user = globals.transmission.user; - group = globals.transmission.group; + user = globals.cross-seed.user; + group = globals.cross-seed.group; settings = { torrentDir = "${cfg.stateDir}/.config/transmission-daemon/torrents"; diff --git a/tests/simple-test.nix b/tests/simple-test.nix index 8e02f83..6dd7f73 100644 --- a/tests/simple-test.nix +++ b/tests/simple-test.nix @@ -38,8 +38,7 @@ pkgs.nixosTest { lidarr.enable = true; prowlarr.enable = true; whisparr.enable = true; - komgarr.enable = true; - stash.enable = true; + komga.enable = true; # recyclarr = { # enable = true; diff --git a/util/globals/default.nix b/util/globals/default.nix index 9cc352d..669623e 100644 --- a/util/globals/default.nix +++ b/util/globals/default.nix @@ -117,8 +117,8 @@ in { group = globals.libraryOwner.group; }; cross-seed = { - user = "cross-seed"; - group = "cross-seed"; + user = "transmission"; + group = globals.libraryOwner.group; }; whisparr = { user = "whisparr";