aboutsummaryrefslogtreecommitdiff
path: root/profiles
diff options
context:
space:
mode:
Diffstat (limited to 'profiles')
-rw-r--r--profiles/samba.nix33
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));
+ };
+}