{ ... }: let payas = "payas"; in # TODO: # - Setup certificates and keys declaratively? This will be a real possibility of depending on my SSH key for a whole lotta stuff. Perhaps keep that for future # - Add more folders and devices in declarative way # - Make ALL the nodes use this declaratively :) { services.syncthing = { enable = true; openDefaultPorts = true; user = payas; group = payas; configDir = "/home/${payas}/.config/syncthing/"; # Hosts can opt-out of folders with enable = false # When adding new folders, you may want to create them first manually for permissions # These should be configured per-node # overrideFolders = true; overrideDevices = false; settings = { options = { urAccepted = -1; relaysEnabled = true; limitBandwidthInLan = false; localAnnounceEnabled = true; }; gui = { theme = "black"; }; devices = { hermes = { id = "LYFSPF4-L6C24OM-IDYZAUT-5D32FAS-FCHN7FR-CUPWEEE-YOZYBQ3-RL5T5Q6"; name = "hermes"; }; "Childish Tycoon" = { id = "ERSVP63-ASZCCJB-FWLSZ3N-MDZ4SV5-IXBP5QD-QK235LI-DY5BYRC-6NSWUQS"; name = "Childish Tycoon"; }; bebop = { id = "M6OJZSY-MPOQY76-BSZUFBQ-QK7LBM6-3YBOJZS-5H2K7UV-S6B34ON-THT3OAI"; name = "bebop"; }; }; folders = { # devices, type and versioning to be configured per-node # Disable unwanted folder in per-node config Keepass = { id = "qsoil-jtfof"; label = "Keepass"; path = "~/Keepass"; }; Syncthing = { id = "yg7in-0dlb8"; label = "Syncthing"; path = "~/Syncthing"; }; Music = { id = "3qsnr-wjn9w"; label = "Music"; path = "~/Music"; }; org = { id = "9ta3z-yrde3"; label = "org"; path = "~/org"; }; Pictures = { id = "rjozc-vd3hh"; label = "Pictures"; path = "~/Pictures"; }; }; }; }; }