Added configuration for Syncthing devices and shared folders, enabling synchronization between specific devices. Adjusted the structure for better clarity and maintainability.
96 lines
2.5 KiB
Nix
96 lines
2.5 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";
|
|
settings.gui.insecureSkipHostcheck = true;
|
|
devices = {
|
|
"sgx" = { id = "2AAVSVQ-PK66I2B-2B4KWAU-TF674DG-IXNEKLF-CIWK7HG-7MUC7OW-DQQNAQM"; };
|
|
"S25" = { id = "7Q7XQXG-VF7QM6Y-HJST4V2-RWOPB3M-GHXQDLL-SRRN3IL-3PHKNOZ-D2IFIQV"; };
|
|
};
|
|
folders = {
|
|
"Documents" = {
|
|
path = "~/logseq";
|
|
devices = [ "sgx" "S25" ];
|
|
};
|
|
"Example" = {
|
|
path = "/mnt/raid/Qmultimedia/S25-Kamera";
|
|
devices = [ "sgx" "S25" ];
|
|
};
|
|
};
|
|
};
|
|
}
|