{ config, lib, ... }: with lib; let cfg = config.snowhawk.syncthing; in { options.snowhawk.syncthing = { enable = mkEnableOption "syncthing"; }; config = mkIf cfg.enable { services.syncthing = { enable = true; user = "ravenshade"; group = "users"; dataDir = "/home/ravenshade/syncthing"; configDir = "/home/ravenshade/.config/syncthing"; overrideFolders = true; overrideDevices = false; settings = { devices = { permafrost.id = "Y3RGVEJ-KKD2QV2-LHHHL7Z-DWRLTWI-P3RG4GG-VTDTNJV-IM4OMRA-E3BY7QN"; lynx.id = "O7EB4D6-AH4A53X-YM6UE7K-T3CJGIZ-MRJ6J7U-DXTEOKB-Z7LSV2M-LVUWFAO"; sprite.id = "IS2F2X5-43F7B2Q-SVSNY4J-GOHU5XP-NSJ2MJS-GDDNNTR-BGPQHHE-TE4JDAX"; }; folders = { "obsidian" = rec { id = "obsidian"; label = id; path = "/home/ravenshade/obsidian"; devices = [ "permafrost" "lynx" "sprite" ]; }; "sync" = { id = "default"; label = "sync"; path = "/home/ravenshade/sync"; devices = [ "lynx" ]; }; }; gui = { theme = "dark"; }; options = { urAccepted = -1; localAnnounceEnabled = false; relaysEnabled = true; }; }; }; }; }