From 4e14b6b379db903f319d8071cdf5702e3dd8d998 Mon Sep 17 00:00:00 2001 From: Alexander Heldt Date: Sat, 3 May 2025 12:50:35 +0200 Subject: [PATCH] manatee: Add `transmission` module --- hosts/manatee/modules/default.nix | 2 + .../manatee/modules/transmission/default.nix | 48 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 hosts/manatee/modules/transmission/default.nix 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 = ""; + + }; + }; + }; + }; +}