56 lines
1.5 KiB
Nix
56 lines
1.5 KiB
Nix
|
{
|
||
|
config,
|
||
|
lib,
|
||
|
...
|
||
|
}: let
|
||
|
cfg = config.lily.fileshare;
|
||
|
in {
|
||
|
options.lily.fileshare.enable = lib.mkEnableOption "activate local filesharing";
|
||
|
|
||
|
config = lib.mkIf cfg.enable {
|
||
|
services.samba = {
|
||
|
enable = true;
|
||
|
securityType = "user"; #Keep user, but use guest account.
|
||
|
openFirewall = true;
|
||
|
settings = {
|
||
|
global = {
|
||
|
workgroup = "WORKGROUP"; #Ensure this matches your network's workgroup.
|
||
|
"server string" = "smbnix";
|
||
|
"netbios name" = "smbnix";
|
||
|
"security" = "user"; #Keep this as user, but guest will be used for access.
|
||
|
"hosts allow" = "192.168.1. 127.0.0.1 localhost"; #Adjust to your LAN.
|
||
|
"hosts deny" = "0.0.0.0/0";
|
||
|
"guest account" = "nobody"; #Important for guest access.
|
||
|
"map to guest" = "bad user"; #Maps unknown users to guest.
|
||
|
};
|
||
|
"public" = {
|
||
|
"path" = "/ext/share";
|
||
|
"browseable" = "yes";
|
||
|
"read only" = "no";
|
||
|
"guest ok" = "yes"; #Allows guest access.
|
||
|
"create mask" = "0644";
|
||
|
"directory mask" = "0755";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
services.samba-wsdd = {
|
||
|
enable = true;
|
||
|
openFirewall = true;
|
||
|
};
|
||
|
services.avahi = {
|
||
|
enable = true;
|
||
|
nssmdns = true;
|
||
|
nssmdns4 = true;
|
||
|
openFirewall = true;
|
||
|
reflector = true;
|
||
|
publish = {
|
||
|
domain = true;
|
||
|
enable = true;
|
||
|
userServices = true;
|
||
|
addresses = true;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|