about summary refs log tree commit diff
path: root/profiles/samba.nix
blob: 4ae8839b14d8b338b1c701266aa0279d28a5fa0f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 publicShares));
  };
}