diff options
Diffstat (limited to '')
-rw-r--r-- | profiles/samba.nix | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/profiles/samba.nix b/profiles/samba.nix new file mode 100644 index 0000000..d1f186b --- /dev/null +++ b/profiles/samba.nix @@ -0,0 +1,33 @@ +{ config, pkgs, lib, ... }: +let + makePublicShare = path: { + name = builtins.baseNameOf path; + value = { + inherit path; + browseable = "yes"; + writeable = "no"; + "guest ok" = "yes"; + "guest only" = "yes"; + "force user" = "nobody"; + }; + }; + publicShares = [ "/data/fast/music" "/data/fast/videos" ]; +in +{ + # https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/network-filesystems/samba.nix + services.samba = { + enable = true; + extraConfig = '' + workgroup = WORKGROUP + server string = tahoe + netbios name = tahoe + security = user + guest account = nobody + mangled names = no + client min protocol = SMB2 + map to guest = bad user + ntlm auth = true + ''; + shares = with lib; (listToAttrs (map makePublicShare cfg.publicShares)); + }; +} |