42 lines
986 B
Nix
42 lines
986 B
Nix
{
|
|
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 = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
|
|
shares = {
|
|
Public.path = "/home/${config.custom.username}/Public";
|
|
SYNC.path = "/home/${config.custom.username}/SYNC";
|
|
};
|
|
|
|
extraConfig = ''
|
|
logging = systemd
|
|
|
|
hosts allow = 127.0.0.1 myndows 192.168.111.
|
|
|
|
browseable = yes
|
|
writeable = yes
|
|
force user = ${config.custom.username}
|
|
map to guest = bad password
|
|
inherit owner = unix only
|
|
inherit permissions = yes
|
|
follow symlinks = yes
|
|
wide links = yes
|
|
allow insecure wide links = yes
|
|
'';
|
|
};
|
|
};
|
|
}
|