{ 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 ]; }