Commit fb64e72a4f01

Vincent Demeester <vincent@sbr.pm>
2025-11-18 15:30:51
systems/rhea: add samba and nfs configuration
And also set some users for some services. Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent 8245bab
Changed files (1)
systems
systems/rhea/extra.nix
@@ -19,7 +19,88 @@
     #   enable = true;
     #   devices = [ { device = "/dev/nvme0n1"; } ];
     # };
+    samba.settings = {
+      settings = {
+        "backup" = {
+          path = "/neo/backup";
+          public = true;
+          browseable = "yes";
+          "read only" = "no";
+          "guest ok" = "yes";
+          writable = true;
+          comment = "backup";
+          "create mask" = "0644";
+          "directory mask" = "0755";
+          "force user" = "vincent";
+          "force group" = "users";
+        };
+        "documents" = {
+          path = "/neo/documents";
+          public = true;
+          browseable = "yes";
+          "read only" = "no";
+          "guest ok" = "yes";
+          writable = true;
+          comment = "documents";
+          "create mask" = "0644";
+          "directory mask" = "0755";
+          "force user" = "vincent";
+          "force group" = "users";
+        };
+        "music" = {
+          path = "/neo/music";
+          public = true;
+          browseable = "yes";
+          "read only" = "no";
+          "guest ok" = "yes";
+          writable = true;
+          comment = "music";
+          "create mask" = "0644";
+          "directory mask" = "0755";
+          "force user" = "vincent";
+          "force group" = "users";
+        };
+        "pictures" = {
+          path = "/neo/pictures";
+          public = true;
+          browseable = "yes";
+          "read only" = "no";
+          "guest ok" = "yes";
+          writable = true;
+          comment = "pictures";
+          "create mask" = "0644";
+          "directory mask" = "0755";
+          "force user" = "vincent";
+          "force group" = "users";
+        };
+        "videos" = {
+          path = "/neo/videos";
+          public = true;
+          browseable = "yes";
+          "read only" = "no";
+          "guest ok" = "yes";
+          writable = true;
+          comment = "videos";
+          "create mask" = "0644";
+          "directory mask" = "0755";
+          "force user" = "vincent";
+          "force group" = "users";
+        };
+      };
+    };
+    nfs.server = {
+      enable = true;
+      exports = ''
+                /neo                      192.168.1.0/24(rw,fsid=0,no_subtree_check) 10.100.0.0/24(rw,fsid=0,no_subtree_check)
+                /neo/backup               192.168.1.0/24(rw,fsid=1,no_subtree_check) 10.100.0.0/24(rw,fsid=1,no_subtree_check)
+                /neo/documents            192.168.1.0/24(rw,fsid=2,no_subtree_check) 10.100.0.0/24(rw,fsid=2,no_subtree_check)
+                /neo/music                192.168.1.0/24(rw,fsid=2,no_subtree_check) 10.100.0.0/24(rw,fsid=2,no_subtree_check)
+                /neo/pictures             192.168.1.0/24(rw,fsid=2,no_subtree_check) 10.100.0.0/24(rw,fsid=2,no_subtree_check)
+                /neo/videos               192.168.1.0/24(rw,fsid=2,no_subtree_check) 10.100.0.0/24(rw,fsid=2,no_subtree_check)
+        			'';
+    };
     aria2 = {
+      # FIXME: make sure aria2 runs as user vincent
       enable = true;
       openPorts = true;
       settings = {
@@ -30,26 +111,36 @@
     };
     transmission = {
       enable = true;
+      user = "vincent";
+      group = "users";
     };
     sonarr = {
       enable = true;
-      # user = "vincent";
-      # group = "users";
+      user = "vincent";
+      group = "users";
     };
     radarr = {
       enable = true;
+      user = "vincent";
+      group = "users";
     };
     bazarr = {
       enable = true;
+      user = "vincent";
+      group = "users";
     };
     prowlarr = {
       enable = true;
     };
     readarr = {
       enable = true;
+      user = "vincent";
+      group = "users";
     };
     lidarr = {
       enable = true;
+      user = "vincent";
+      group = "users";
     };
   };