{ pkgs, ... }: let mediaGroup = "media"; in { users.users.torrenter = { isSystemUser = true; group = "${mediaGroup}"; }; users.groups.${mediaGroup} = { members = [ "ren" "prowlarr" "radarr" ]; }; age.secrets.mullvad = { file = ../../../keys/mullvad; path = "/etc/wireguard/mullvad.conf"; }; networking.firewall.trustedInterfaces = [ "wg-selene" ]; services.prowlarr.enable = true; services.deluge = { enable = true; web.enable = true; user = "torrenter"; group = mediaGroup; }; services.radarr = { enable = true; group = mediaGroup; openFirewall = false; }; services.sonarr = { enable = true; group = mediaGroup; openFirewall = false; }; services.bazarr = { enable = true; group = mediaGroup; openFirewall = false; }; environment.systemPackages = [ pkgs.flood-for-transmission ]; systemd.tmpfiles.rules = [ "d /mnt/scratch/torrents 0775 torrenter media -" "d /mnt/scratch/torrents/.incomplete 0775 torrenter media -" ]; }