1
1
Fork 0
nixos/options/custom/services/samba.nix

49 lines
1.3 KiB
Nix
Raw Normal View History

{
config,
lib,
...
}:
with lib; let
cfg = config.custom.services.samba;
in {
options.custom.services.samba.enable = mkOption {default = false;};
config = mkIf cfg.enable {
# https://wiki.nixos.org/wiki/Samba
# https://gitlab.com/samba-team/samba
#!! User configuration is imperative
#?? sudo smbpasswd -a $USER
services.samba =
if (versionAtLeast version "24.11")
then {
enable = true;
nmbd.enable = false;
nsswins = false;
openFirewall = true;
# https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html
settings = {
Public.path = "/home/${config.custom.username}/Public";
SYNC.path = config.custom.sync;
global = {
"acl allow execute always" = "yes"; # Required for execution on Windows
"allow insecure wide links" = "yes";
"browseable" = "no";
"follow symlinks" = "yes";
"force user" = config.custom.username;
"hostname lookups" = "yes";
"hosts allow" = "192.168.111.";
"inherit owner" = "unix only";
"inherit permissions" = "yes";
"logging" = "systemd";
"map to guest" = "bad password";
"wide links" = "yes";
"writeable" = "yes";
};
};
}
else {};
};
}