{ pkgs, config, service_configs, lib, ... }: { imports = [ (lib.serviceMountWithZpool "sonarr" service_configs.zpool_ssds [ service_configs.sonarr.dataDir ]) (lib.serviceMountWithZpool "sonarr" service_configs.zpool_hdds [ service_configs.torrents_path ]) (lib.serviceFilePerms "sonarr" [ "Z ${service_configs.sonarr.dataDir} 0700 ${config.services.sonarr.user} ${config.services.sonarr.group}" "d ${service_configs.media.tvDir} 0775 ${config.services.sonarr.user} ${service_configs.media_group}" ]) ]; services.sonarr = { enable = true; dataDir = service_configs.sonarr.dataDir; settings.server.port = service_configs.ports.sonarr; settings.update.mechanism = "external"; }; services.caddy.virtualHosts."sonarr.${service_configs.https.domain}".extraConfig = '' import ${config.age.secrets.caddy_auth.path} reverse_proxy :${builtins.toString service_configs.ports.sonarr} ''; users.users.${config.services.sonarr.user}.extraGroups = [ service_configs.media_group ]; }