{ config, pkgs, inputs, lib, ... }: { users.users.sambaguest = { isNormalUser = true; extraGroups = [ ]; home = "/data/shares/"; }; networking.firewall.enable = true; networking.firewall.allowPing = true; services.samba = { enable = true; nsswins = true; securityType = "user"; extraConfig = '' workgroup = WORKGROUP server string = smbnix netbios name = smbnix security = user #use sendfile = yes #max protocol = smb2 # note: localhost is the ipv6 localhost ::1 hosts allow = 10.0.0. 100. 127.0.0.1 localhost hosts deny = 0.0.0.0/0 guest account = sambaguest map to guest = bad user ''; shares = { videos = { path = "/data/shares/videos"; browseable = "yes"; "read only" = "no"; "guest ok" = "yes"; "create mask" = "0644"; "directory mask" = "0755"; "force user" = "sambaguest"; }; }; openFirewall = true; }; networking.firewall.allowedTCPPorts = [2049]; services.nfs.server = { enable = true; exports = '' /data/nfs 10.0.0.244/24(rw,sync,insecure,no_subtree_check,fsid=0) 100.81.212.51(rw,sync,insecure,no_subtree_check) 10.0.0.156(rw,sync,insecure,no_subtree_check) /data/nfs/home_assistant/share 10.0.0.244/24(rw,sync,insecure,no_subtree_check,fsid=0) 100.81.212.51(rw,sync,insecure,no_subtree_check) 10.0.0.156(rw,sync,insecure,no_subtree_check) /data/nfs/home_assistant/media 10.0.0.244/24(rw,sync,insecure,no_subtree_check,fsid=0) 100.81.212.51(rw,sync,insecure,no_subtree_check) 10.0.0.156(rw,sync,insecure,no_subtree_check) /data/nfs/home_assistant/backups 10.0.0.244/24(rw,sync,insecure,no_subtree_check,fsid=0) 100.81.212.51(rw,sync,insecure,no_subtree_check) 10.0.0.156(rw,sync,insecure,no_subtree_check) ''; }; }