{lib, ...}: let defaultDataDir = "/var/lib/syncthing"; in { services.syncthing = { enable = true; dataDir = lib.mkDefault defaultDataDir; systemService = true; openDefaultPorts = true; devices = { "Ion".id = "7DD4NPH-6T2ET5A-4FCLFWW-CS6UR2W-IO5XQXC-DM5B2Q4-6X7DGU2-UKKVEAB"; "Legion".id = "6OX54CG-EAQMXKA-K7TXB5P-G5A27HB-52JE2FA-XNAYZU6-YMIDBXP-RKPBJQV"; "Monarch".id = "CJSUZQY-67XBLEZ-VKVHQHI-BLEUZNF-G4237AV-AW44CGH-F3JDKXU-CWT3RQZ"; "Nortstar".id = "W3QZTFS-BB42JYB-NQBZ5IM-H3WLAUQ-M57I2CP-FALWGEX-JI2ZZOC-QWAX2QQ"; "Ronin".id = "ZOL5YHK-ZZZULIE-UHGVKHW-H5E4BP7-S4CZBOX-OIZVUCV-RZUXOKA-QVBUBAJ"; "Vanguard".id = "I366QNQ-D3FTDRX-RNOTXMW-YITZXOF-DSCDMQD-63Q72LI-ME2Y4HZ-T34RMQK"; "Remarkable".id = "GHB6JKS-JOA3HHP-TYHB3IJ-GLV26QW-RWRZAMG-XYFGFB6-QLUHDSH-GNPZVAO"; }; folders = { "Archive" = { id = "hwnqy-xzcdx"; path = lib.mkDefault (defaultDataDir + "/Archive"); ignorePerms = true; devices = ["Ion" "Legion" "Monarch" "Vanguard"]; }; "Books" = { id = "zjmxy-ycmbq"; path = lib.mkDefault (defaultDataDir + "/Books"); ignorePerms = true; devices = ["Legion" "Monarch" "Nortstar" "Remarkable" "Vanguard"]; }; "Comics" = { id = "kc2h0-q3wot"; path = lib.mkDefault (defaultDataDir + "/Comics"); ignorePerms = true; devices = ["Ion" "Legion" "Monarch" "Nortstar" "Vanguard"]; }; "Documents" = { id = "qc6qa-bipsd"; path = lib.mkDefault (defaultDataDir + "/Documents"); ignorePerms = true; devices = ["Legion" "Monarch" "Nortstar" "Vanguard"]; }; "Exports" = { id = "tof2e-pdtde"; path = lib.mkDefault (defaultDataDir + "/Exports"); ignorePerms = true; devices = ["Legion" "Monarch" "Vanguard"]; }; "Notes" = { id = "4ggjz-5dyop"; path = lib.mkDefault (defaultDataDir + "/Notes"); ignorePerms = true; devices = ["Ion" "Legion" "Monarch" "Nortstar" "Ronin" "Vanguard"]; }; "Pictures" = { id = "ziuj8-rm6dn"; path = lib.mkDefault (defaultDataDir + "/Pictures"); ignorePerms = true; devices = ["Ion" "Legion" "Monarch" "Nortstar" "Vanguard"]; }; "Xochitl" = { id = "dkcbx-kq7hl"; path = lib.mkDefault (defaultDataDir + "/Xochitl"); type = "receiveonly"; ignorePerms = true; devices = ["Legion" "Remarkable"]; }; "Zotero" = { id = "huyvn-liwc9"; path = lib.mkDefault (defaultDataDir + "/Zotero"); ignorePerms = true; devices = ["Ion" "Legion" "Monarch" "Nortstar" "Ronin" "Vanguard"]; }; }; }; }