diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2021-12-31 15:13:52 +0100 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2021-12-31 15:13:52 +0100 |
| commit | f4301a77c9410f931c61b851bc5c1076d25dae80 (patch) | |
| tree | 7245a5387860fe748c25aaf0a3569d1a5564a852 /hosts/vidhar/samba.nix | |
| parent | 80023979b3541bfb6881fe939dda0f9ed5a687b4 (diff) | |
| download | nixos-f4301a77c9410f931c61b851bc5c1076d25dae80.tar nixos-f4301a77c9410f931c61b851bc5c1076d25dae80.tar.gz nixos-f4301a77c9410f931c61b851bc5c1076d25dae80.tar.bz2 nixos-f4301a77c9410f931c61b851bc5c1076d25dae80.tar.xz nixos-f4301a77c9410f931c61b851bc5c1076d25dae80.zip | |
vidhar: ...
Diffstat (limited to 'hosts/vidhar/samba.nix')
| -rw-r--r-- | hosts/vidhar/samba.nix | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/hosts/vidhar/samba.nix b/hosts/vidhar/samba.nix new file mode 100644 index 00000000..b3722617 --- /dev/null +++ b/hosts/vidhar/samba.nix | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | { config, lib, pkgs, ... }: | ||
| 2 | { | ||
| 3 | config = { | ||
| 4 | services.samba = { | ||
| 5 | enable = true; | ||
| 6 | securityType = "user"; | ||
| 7 | extraConfig = '' | ||
| 8 | domain master = yes | ||
| 9 | workgroup = WORKGROUP | ||
| 10 | load printers = no | ||
| 11 | printing = bsd | ||
| 12 | printcap name = /dev/null | ||
| 13 | disable spoolss = yes | ||
| 14 | guest account = nobody | ||
| 15 | bind interfaces only = yes | ||
| 16 | interfaces = lo lan | ||
| 17 | ''; | ||
| 18 | shares = { | ||
| 19 | homes = { | ||
| 20 | comment = "Home Directories"; | ||
| 21 | path = "/home/%S"; | ||
| 22 | browseable = "no"; | ||
| 23 | "valid users" = "%S"; | ||
| 24 | "read only" = "no"; | ||
| 25 | "create mask" = "0700"; | ||
| 26 | "directory mask" = "0700"; | ||
| 27 | "vfs objects" = "shadow_copy2"; | ||
| 28 | "shadow:snapdir" = ".zfs/snapshot"; | ||
| 29 | "shadow:sort" = "desc"; | ||
| 30 | "shadow:format" = "%Y-%m-%d-%Hh%MU"; | ||
| 31 | "shadow:snapprefix" = "^zfs-auto-snap_\(frequent\)\{0,1\}\(hourly\)\{0,1\}\(daily\)\{0,1\}\(monthly\)\{0,1\}"; | ||
| 32 | "shadow:delimiter" = "-"; | ||
| 33 | }; | ||
| 34 | eos = { | ||
| 35 | comment = "Disk image of eos"; | ||
| 36 | browseable = true; | ||
| 37 | "valid users" = "mherold"; | ||
| 38 | writeable = "true"; | ||
| 39 | path = "/srv/eos"; | ||
| 40 | }; | ||
| 41 | }; | ||
| 42 | }; | ||
| 43 | services.samba-wsdd = { | ||
| 44 | enable = true; | ||
| 45 | workgroup = "WORKGROUP"; | ||
| 46 | interface = [ "lo" "lan" ]; | ||
| 47 | }; | ||
| 48 | |||
| 49 | fileSystems."/srv/eos.lower" = { | ||
| 50 | device = "/dev/zvol/hdd-raid6/safe/home/mherold/eos/base"; | ||
| 51 | fsType = "ntfs3"; | ||
| 52 | options = [ "ro" "uid=mherold" "gid=users" "fmask=0177" "dmask=0077" "nofail" "noauto" ]; | ||
| 53 | }; | ||
| 54 | |||
| 55 | fileSystems."/srv/eos.upper" = { | ||
| 56 | device = "/dev/zvol/hdd-raid6/safe/home/mherold/eos/upper"; | ||
| 57 | fsType = "ext4"; | ||
| 58 | options = [ "nofail" "noauto" ]; | ||
| 59 | }; | ||
| 60 | |||
| 61 | systemd.mounts = [ | ||
| 62 | { | ||
| 63 | wantedBy = [ "samba-smbd.service" ]; | ||
| 64 | before = [ "samba-smbd.service" ]; | ||
| 65 | |||
| 66 | where = "/srv/eos"; | ||
| 67 | what = "overlay"; | ||
| 68 | type = "overlay"; | ||
| 69 | options = lib.concatStringsSep "," | ||
| 70 | [ "lowerdir=/srv/eos.lower" | ||
| 71 | "upperdir=/srv/eos.upper/upper" | ||
| 72 | "workdir=/srv/eos.upper/work" | ||
| 73 | ]; | ||
| 74 | |||
| 75 | unitConfig = { | ||
| 76 | RequiresMountsFor = [ "/srv/eos.lower" "/srv/eos.upper" ]; | ||
| 77 | }; | ||
| 78 | } | ||
| 79 | ]; | ||
| 80 | }; | ||
| 81 | } | ||
