feat: init nfs config on winters

This commit is contained in:
Swarsel 2024-09-23 23:39:57 +02:00
parent 0e402df8fe
commit 9f3f14e159
Signed by: swarsel
GPG key ID: 26A54C31F2A4FD84
4 changed files with 159 additions and 2 deletions

View file

@ -6507,6 +6507,7 @@ Also, the system state version is set here. No need to touch it.
./packages.nix
./sops.nix
./ssh.nix
./nfs.nix
./nginx.nix
./kavita.nix
./jellyfin.nix
@ -6580,12 +6581,61 @@ Also, the system state version is set here. No need to touch it.
}
#+end_src
**** zfs
**** nfs/samba (smb)
#+begin_src nix :tangle profiles/server/common/zfs.nix
#+begin_src nix :tangle profiles/server/common/nfs.nix
{ pkgs, lib, config, ... }:
{
# Network shares
# add a user with sudo smbpasswd -a <user>
samba = {
package = pkgs.samba4Full;
extraConfig = ''
workgroup = WORKGROUP
server role = standalone server
dns proxy = no
pam password change = yes
map to guest = bad user
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
follow symlinks = yes
'';
# ^^ `samba4Full` is compiled with avahi, ldap, AD etc support compared to the default package, `samba`
# Required for samba to register mDNS records for auto discovery
# See https://github.com/NixOS/nixpkgs/blob/592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3/pkgs/top-level/all-packages.nix#L27268
enable = true;
# openFirewall = true;
shares.Eternor = {
browseable = "yes";
"read only" = "no";
"guest ok" = "no";
path = "/Vault/Eternor";
writable = "true";
comment = "Eternor";
"valid users" = "@Swarsel";
};
};
avahi = {
publish.enable = true;
publish.userServices = true;
# ^^ Needed to allow samba to automatically register mDNS records without the need for an `extraServiceFile`
nssmdns4 = true;
# ^^ Not one hundred percent sure if this is needed- if it aint broke, don't fix it
enable = true;
};
samba-wsdd = {
# This enables autodiscovery on windows since SMB1 (and thus netbios) support was discontinued
enable = true;
};
};
}
#+end_src