diff --git a/hosts/manatee/modules/default.nix b/hosts/manatee/modules/default.nix index 3cf51b3..34704d4 100644 --- a/hosts/manatee/modules/default.nix +++ b/hosts/manatee/modules/default.nix @@ -12,6 +12,8 @@ in ssh.enable = true; git.enable = true; + + transmission.enable = true; }; }; } diff --git a/hosts/manatee/modules/transmission/default.nix b/hosts/manatee/modules/transmission/default.nix new file mode 100644 index 0000000..76e50c5 --- /dev/null +++ b/hosts/manatee/modules/transmission/default.nix @@ -0,0 +1,48 @@ +{ + pkgs, + lib, + config, + ... +}: +let + enabled = config.mod.transmission.enable; +in +{ + options = { + mod.transmission = { + enable = lib.mkEnableOption "enable transmission module"; + }; + }; + + config = lib.mkIf enabled { + services = { + transmission = { + enable = true; + package = pkgs.transmission_4; + + openFirewall = true; + + user = "storage"; + group = "storage"; + + home = "/mnt/media/public/.ts-home"; + downloadDirPermissions = "775"; + + settings = { + incomplete-dir-enabled = false; + download-dir = "/mnt/media/public/downloads"; + + rpc-bind-address = "0.0.0.0"; + + # Required to have empty user/pass to satisfy transmissionA + # https://github.com/transmission/transmission/discussions/1941#discussioncomment-1472352 + rpc-whitelist-enabled = false; + rpc-authentication-required = true; + rpc-username = ""; + rpc-password = ""; + + }; + }; + }; + }; +}