{ 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; }; pepe.core.vhost.hosts.${cfg.domain} = with config.pepe.core.network; { dnsInterfaces = [ interfaceTypes.vpn interfaceTypes.lan ]; locations."/" = { port = 7878; allowLan = true; allow = [ interfaces.${interfaceTypes.vpn}.net ]; }; }; pepe.core.media.groupMembers = mkIf config.pepe.core.media.enable [ config.services.radarr.group ]; }; }