{ lib, config, ... }: let domain = "httra.giugl.io"; network = import ./network.nix; in { services = { transmission = { enable = true; group = "media"; settings = { download-dir = "/media/transmission"; incomplete-dir = "/media/transmission/.incomplete"; rpc-host-whitelist = "${domain}"; encryption = 2; speed-limit-up = 10; speed-limit-up-enabled = true; peer-port = 51413; }; performanceNetParameters = true; }; nginx.virtualHosts.${domain} = { forceSSL = true; enableACME = true; locations."/" = { proxyPass = "http://localhost:9091"; extraConfig = '' allow 10.0.0.0/24; ${lib.concatMapStrings (x: "allow ${x};") network.gdevices-wg} deny all; ''; }; }; }; networking.extraHosts = '' ${network.architect-lan} ${domain} ${network.architect-wg} ${domain} ''; users.groups.media.members = [ "transmission" ]; }