diff --git a/roles/server/nfs.nix b/roles/server/nfs.nix
index 5122cc7..22dbe91 100755
--- a/roles/server/nfs.nix
+++ b/roles/server/nfs.nix
@@ -2,29 +2,12 @@
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})
- '';
+ exports = "/srv/nfs *.sable-pancake.ts.net(ro,fsid=root)";
# 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 3e64aec..9b90f1b 100755
--- a/roles/server/transmission.nix
+++ b/roles/server/transmission.nix
@@ -1,4 +1,8 @@
-{config, ...}: {
+{config, ...}: let
+ transmissionUid = toString config.users.users.transmission.uid;
+ transmissionGid = toString config.users.groups.transmission.gid;
+ mountPoint = config.fileSystems."nfs_transmission".mountPoint;
+in {
services.transmission = {
enable = true;
openFirewall = true;
@@ -10,6 +14,29 @@
};
};
+ # 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"];