{ config, ... }:
let
user = config.nixos-config.defaultUser;
homePath = config.home-manager.users.${user}.home.homeDirectory;
in {
networking.firewall = {
allowedTCPPorts = [ 22000 ];
allowedUDPPorts = [ 22000 21027 ];
};
services.syncthing = {
enable = true;
user = "${user}";
dataDir = "/home/${user}";
configDir = "/home/${user}/.config/syncthing";
overrideDevices = true;
overrideFolders = true;
settings = {
devices = {
phone = { id = "SRCBWOD-UBR76WT-ZB4OLV2-34U6TRL-YLVMSGQ-I5JYZP6-VD7XR6S-5732ZAZ"; };
desktop = { id = "BVFWKZE-DWZTSJR-OHCLGY3-X2PU7F3-XMPMGEH-QONACL5-MMRJE5O-CHRY4Q5"; };
laptop = { id = "3AGVM6S-RFTHVHR-OGK5RHI-YDEO6GN-RU4ZH77-VLBZAC7-JVHD6S6-VISXGQT"; };
};
folders = {
"uni" = {
path = "${homePath}/doc/uni";
devices = [ "phone" "desktop" "laptop" ];
};
"notes" = {
path = "${homePath}/doc/notes/obsidian/Notes";
devices = [ "phone" "desktop" "laptop" ];
};
"camera" = {
path = "${homePath}/doc/camera";
devices = [ "phone" "desktop" "laptop" ];
};
"study" = {
path = "${homePath}/doc/study";
devices = [ "phone" "desktop" "laptop" ];
};
};
options = {
natenabled = false;
relaysEnabled = false;
globalAnnounceEnabled = false;
localAnnounceEnabled = true;
};
};
};
}