@@ -18,13 +18,29 @@ let
1818 maintainers = [ adisbladis ];
1919 };
2020
21− machine = { pkgs, lib, ... }: {
21+ machine = { pkgs, lib, ... }:
22+ let
23+ usersharePath = "/var/lib/samba/usershares";
24+ in {
2225 virtualisation.emptyDiskImages = [ 4096 ];
2326 networking.hostId = "deadbeef";
2427 boot.kernelPackages = kernelPackage;
2528 boot.supportedFilesystems = [ "zfs" ];
2629 boot.zfs.enableUnstable = enableUnstable;
2730
31+ services.samba = {
32+ enable = true;
33+ extraConfig = ''
34+ registry shares = yes
35+ usershare path = ${usersharePath}
36+ usershare allow guests = yes
37+ usershare max shares = 100
38+ usershare owner only = no
39+ '';
40+ };
41+ systemd.services.samba-smbd.serviceConfig.ExecStartPre =
42+ "${pkgs.coreutils}/bin/mkdir -m +t -p ${usersharePath}";
43+
2844 environment.systemPackages = [ pkgs.parted ];
2945
3046 # Setup regular fileSystems machinery to ensure forceImportAll can be
@@ -60,6 +76,8 @@ let
6076 "zfs create -o mountpoint=legacy rpool/root",
6177 "mount -t zfs rpool/root /tmp/mnt",
6278 "udevadm settle",
79+ "zfs set sharesmb=on rpool/root",
80+ "smbclient -NL localhost",
6381 "umount /tmp/mnt",
6482 "zpool destroy rpool",
6583 "udevadm settle",