nixcfg/systems/x86_64-linux/sgx/fileserver.nix
Harald Hoyer 7e283d9266 feat(sgx): add Syncthing support and configuration updates
Added Syncthing support with proxy and SSL in nginx and updated ACME certs configuration. Adjusted Syncthing GUI to bind to localhost for improved security.
2025-02-04 10:27:02 +01:00

83 lines
1.9 KiB
Nix

{
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 = "127.0.0.1:8384";
};
};
}