diff --git a/roles/server/nfs.nix b/roles/server/nfs.nix index 22dbe91..5122cc7 100755 --- a/roles/server/nfs.nix +++ b/roles/server/nfs.nix @@ -2,12 +2,29 @@ services = { nfs.server = { enable = true; - exports = "/srv/nfs *.sable-pancake.ts.net(ro,fsid=root)"; + 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 = { diff --git a/roles/server/transmission.nix b/roles/server/transmission.nix index 9b90f1b..3e64aec 100755 --- a/roles/server/transmission.nix +++ b/roles/server/transmission.nix @@ -1,8 +1,4 @@ -{config, ...}: let - transmissionUid = toString config.users.users.transmission.uid; - transmissionGid = toString config.users.groups.transmission.gid; - mountPoint = config.fileSystems."nfs_transmission".mountPoint; -in { +{config, ...}: { services.transmission = { enable = true; openFirewall = true; @@ -14,29 +10,6 @@ in { }; }; - # Allow my devices to access the downloads folder though NFS - fileSystems."nfs_transmission" = { - device = config.services.transmission.settings.download-dir; - mountPoint = "/srv/nfs/transmission"; - options = ["bind"]; - }; - services.nfs.server.exports = "${mountPoint} *.sable-pancake.ts.net(ro,all_squash,anonuid=${transmissionUid},anongid=${transmissionGid})"; - - services.avahi.extraServiceFiles = { - Transmission-downloads-nfs = '' - - - - Transmission Downloads on %h (NFS) - - _nfs._tcp - 2049 - path=${mountPoint} - - - ''; - }; - # Add a cname for transmission services.dnsmasq.settings.cname = ["transmission.everest.sable-pancake.ts.net,everest"];