at main 990 B view raw
1{ lib, traits, ... }: 2let 3 mkDevice = name: id: { 4 inherit name; 5 value = { 6 inherit id; 7 addresses = [ 8 "tcp://${name}.mist-nessie.ts.net" 9 "quic://${name}.mist-nessie.ts.net" 10 ]; 11 }; 12 }; 13 devices = lib.listToAttrs [ 14 (mkDevice "renko" "JSPWYCM-O76XTAY-IEP3AKI-A2IK4KX-X2NC7N4-ADMQKXY-VYM45XX-OADHHA3") 15 (mkDevice "satori" "OZ2QYJS-463IWPW-DXL6OKH-BU2D2QK-ZP577US-BYXSMAA-LAXRWV7-6PC54QF") 16 ]; 17 allDevices = lib.attrNames devices; 18in 19lib.mkIf (traits.gui) { 20 services.syncthing = { 21 enable = true; 22 settings = { 23 inherit devices; 24 options.globalAnnounceEnabled = false; 25 defaults.ignores = [ 26 "(?d)**/node_modules" 27 "(?d)**/target" 28 "(?d)**/.svelte-kit" 29 "(?d)**/build" 30 "(?d)**/.gradle" 31 "(?d)**/.direnv" 32 ]; 33 folders = { 34 "/home/cassie/projects/synced" = { 35 id = "synced-projects"; 36 devices = allDevices; 37 }; 38 }; 39 }; 40 }; 41}