nixvimConfig/modules/home/features/syncthing.nix

53 lines
1.3 KiB
Nix

{
pkgs,
config,
lib,
inputs,
...
}: let
saintAlphonsoID = "LHASNUO-CXALARH-XI3TU4U-OCULV72-HS3HQ35-P4FECIT-UZ5VMSZ-PMCEPQH";
webGuiPort = [ 8384 ];
cfg = config;
in {
imports = [];
options = {
rootDir = lib.mkOption {
type = lib.types.path;
default = "/home/${cfg.myNixOS.sharedSettings.mainUser}/sync";
};
remoteGui = lib.mkEnableOption "Enable port for remote WebGUI";
};
services.syncthing = {
enable = true;
user = cfg.myNixOS.sharedSettings.mainUser;
dataDir = config.rootDir;
configDir = "/home/${cfg.myNixOS.sharedSettings.mainUser}/.config/syncthing";
overrideDevices = true;
overrideFolders = true;
settings = {
devices = {
"saintAlphonso" = { id = saintAlphonsoID; };
};
folders = {
"KeepassXC" = {
path = "/home/${cfg.myNixOS.sharedSettings.mainUser}/KeepassXC";
devices = [ "saintAlphonso" ];
};
};
};
};
# # Syncthing ports: 8384 for remote access to GUI
# # 22000 TCP and/or UDP for sync traffic
# # 21027/UDP for discovery
# # source: https://docs.syncthing.net/users/firewall.html
# networking.firewall.allowedTCPPorts =
# [ 22000 ]
# ++ webGuiPort;
#
# networking.firewall.allowedUDPPorts = [ 22000 21027 ];
}