64 lines
1.2 KiB
Nix
64 lines
1.2 KiB
Nix
{ pkgs, ... }:
|
|
let
|
|
mediaGroup = "media";
|
|
in
|
|
{
|
|
users.users.torrenter = {
|
|
isSystemUser = true;
|
|
group = "${mediaGroup}";
|
|
};
|
|
users.groups.${mediaGroup} = {
|
|
members = [
|
|
"ren"
|
|
"prowlarr"
|
|
"radarr"
|
|
];
|
|
};
|
|
|
|
age.secrets.wg-scribe = {
|
|
file = ../../../keys/wg-scribe;
|
|
path = "/etc/wireguard/wg-scribe.conf";
|
|
};
|
|
|
|
networking.firewall.trustedInterfaces = [ "wg-selene" "wg-scribe" ];
|
|
networking.firewall.allowedUDPPorts = [ 23379 ];
|
|
networking.firewall.allowedTCPPorts = [ 23379 ];
|
|
|
|
networking.firewall.checkReversePath = false;
|
|
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 -"
|
|
];
|
|
}
|