diff --git a/hosts/architect/default.nix b/hosts/architect/default.nix index 207b437..f5236b3 100644 --- a/hosts/architect/default.nix +++ b/hosts/architect/default.nix @@ -16,7 +16,6 @@ in ./firewall.nix ./nginx.nix ./sonarr.nix - ./radarr.nix ./bazarr.nix ./nzbget.nix ./nextcloud.nix @@ -170,6 +169,13 @@ in domain = "photos.giugl.io"; package = pkgs.unstablePkgs.immich; }; + + + radarr = { + enable = true; + domain = "htrad.giugl.io"; + package = pkgs.unstablePkgs.radarr; + }; }; }; } diff --git a/hosts/architect/radarr.nix b/hosts/architect/radarr.nix deleted file mode 100644 index 1a4d4a6..0000000 --- a/hosts/architect/radarr.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ config, pkgs, ... }: - -let - domain = "htrad.giugl.io"; -in -{ - services.radarr = { - enable = true; - package = pkgs.unstablePkgs.radarr; - group = "media"; - }; - - architect.vhost.${domain} = with config.architect.networks; { - dnsInterfaces = [ "tailscale" "lan" ]; - locations."/" = { - port = 7878; - allowLan = true; - - allow = [ - tailscale.net - ]; - }; - }; - - users.groups.media.members = [ "radarr" ]; -} diff --git a/modules/services/default.nix b/modules/services/default.nix index 058ee9c..959cae1 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -2,5 +2,6 @@ imports = [ ./gitea ./immich + ./radarr ]; } diff --git a/modules/services/radarr/default.nix b/modules/services/radarr/default.nix new file mode 100644 index 0000000..3c7281e --- /dev/null +++ b/modules/services/radarr/default.nix @@ -0,0 +1,38 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf; + + cfg = config.pepe.services.radarr; +in +{ + options.pepe.services.radarr = with lib; { + enable = mkEnableOption "Enable radarr"; + package = mkPackageOption pkgs "radarr" { }; + domain = mkOption { + type = types.str; + default = null; + }; + }; + + config = mkIf cfg.enable { + services.radarr = { + enable = true; + package = cfg.package; + }; + + architect.vhost.${cfg.domain} = with config.architect.networks; { + dnsInterfaces = [ "tailscale" "lan" ]; + locations."/" = { + port = 7878; + allowLan = true; + + allow = [ + tailscale.net + ]; + }; + }; + + pepe.core.media.groupMembers = mkIf config.pepe.core.media.enable [ config.services.radarr.group ]; + }; +}