{ pkgs, lib, config, ... }: { services.netatalk = { enable = true; settings = { Homes = { "basedir regex" = "/home"; path = "Public"; }; time-machine = { path = "/mnt/backup/tm_share"; "valid users" = "harald"; "time machine" = true; }; Qmultimedia = { path = "/mnt/raid/Qmultimedia"; }; }; }; services.avahi = { enable = true; nssmdns4 = true; nssmdns6 = true; ipv6 = true; ipv4 = true; publish = { enable = true; userServices = true; }; }; services.samba = { enable = true; openFirewall = true; settings = { global = { security = "user"; "read raw" = "Yes"; "write raw" = "Yes"; "socket options" = "TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072"; "min receivefile size" = 16384; "use sendfile" = true; "aio read size" = 16384; "aio write size" = 16384; "workgroup" = "WORKGROUP"; "server string" = "sgx"; "netbios name" = "sgx"; #"max protocol" = "smb2"; "hosts allow" = "192.168.178. 127.0.0.1 localhost 2003::/16 ::1"; "hosts deny" = "ALL"; "guest account" = "nobody"; "map to guest" = "bad user"; }; Qmultimedia = { path = "/mnt/raid/Qmultimedia"; browseable = "yes"; "read only" = "no"; "guest ok" = "no"; "create mask" = "0644"; "directory mask" = "0755"; "force user" = "harald"; "force group" = "users"; }; }; }; services = { syncthing = { enable = true; user = "harald"; dataDir = "/mnt/raid/Qmultimedia/syncthing"; # Default folder for new synced folders configDir = "/mnt/raid/Qmultimedia/syncthing/.config/syncthing"; # Folder for Syncthing's settings and keys guiAddress = "0.0.0.0:8384"; }; }; }