{ ... }: { services.samba = { enable = true; openFirewall = true; settings = { global = { "workgroup" = "WORKGROUP"; "server string" = "Qwark"; "netbios name" = "qwark"; "security" = "user"; #"use sendfile" = "yes"; #"max protocol" = "smb2"; # note: localhost is the ipv6 localhost ::1 "hosts allow" = "192.168.0. 127.0.0.1 localhost 192.168.122.2"; "hosts deny" = "0.0.0.0/0"; "guest account" = "nobody"; "map to guest" = "bad user"; }; "dad" = { "path" = "/vol/dad"; "browseable" = "yes"; "read only" = "no"; "guest ok" = "no"; "create mask" = "0644"; "directory mask" = "0755"; "force user" = "yaroslav"; "force group" = "users"; }; "mom" = { "path" = "/vol/mom"; "browseable" = "yes"; "read only" = "no"; "guest ok" = "no"; "create mask" = "0644"; "directory mask" = "0755"; "force user" = "yaroslav"; "force group" = "users"; }; "me" = { "path" = "/vol/me"; "browseable" = "yes"; "read only" = "no"; "guest ok" = "no"; "create mask" = "0644"; "directory mask" = "0755"; "force user" = "yaroslav"; "force group" = "users"; }; }; }; services.samba-wsdd = { enable = true; openFirewall = true; }; services.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; openFirewall = true; }; }