{config, ...}: { services = { nfs.server = { enable = true; exports = '' ${config.services.transmission.settings.download-dir} *.sable-pancake.ts.net(ro,all_squash,anonuid=${toString config.users.users.transmission.uid},anongid=${toString config.users.groups.transmission.gid}) ''; # NFSv3 uses random ports, so you need to make them static to be able to pass though the firewall statdPort = 4000; lockdPort = 4001; mountdPort = 4002; }; avahi.extraServiceFiles = { Transmission-downloads-nfs = '' Transmission Downloads on %h (NFS) _nfs._tcp 2049 path=${config.services.transmission.settings.download-dir} ''; }; }; networking.firewall = { allowedTCPPorts = [111 2049 4000 40001 4002]; allowedUDPPorts = [111 2049 4000 40001 4002]; }; }