diff --git a/modules/services/default.nix b/modules/services/default.nix index 959cae1..a842fc3 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -3,5 +3,6 @@ ./gitea ./immich ./radarr + ./sonarr ]; } diff --git a/modules/services/sonarr/default.nix b/modules/services/sonarr/default.nix new file mode 100644 index 0000000..fe9160d --- /dev/null +++ b/modules/services/sonarr/default.nix @@ -0,0 +1,37 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf; + + cfg = config.pepe.services.sonarr; +in +{ + options.pepe.services.sonarr = with lib; { + enable = mkEnableOption "Enable sonarr"; + package = mkPackageOption pkgs "sonarr" { }; + domain = mkOption { + type = types.str; + default = null; + }; + }; + + config = mkIf cfg.enable { + services.sonarr = { + enable = true; + package = cfg.package; + }; + + architect.vhost.${cfg.domain} = with config.architect.networks; { + dnsInterfaces = [ "tailscale" "lan" ]; + locations."/" = { + port = 8989; + allowLan = true; + allow = [ + tailscale.net + ]; + }; + }; + + pepe.core.media.groupMembers = mkIf config.pepe.core.media.enable [ config.services.sonarr.group ]; + }; +}