cfg/var/syncthing.nix
2025-12-30 13:54:59 +01:00

18 lines
621 B
Nix

{ var, lib, ... }:
let
inherit (var.syncthing-managed-clients) managed_clients hashes;
unmanaged = {
# "roam".id = "OIKOKOT-LY4JWPX-T7OXE4D-I4ZC3IR-ZLMKFCO-IXSVEYZ-Y3FZOUB-LIG2XAO";
};
in
assert (
lib.assertMsg (
builtins.attrNames hashes == managed_clients
) "Not all declaratively configured syncthing clients have keys. Rerun ./bin/gen-syncthing-cert"
);
assert (
lib.assertMsg (
[ ] == (lib.intersectLists managed_clients (builtins.attrNames unmanaged))
) "Syncthing clients must either be unmanaged or declaratively configured."
);
unmanaged // builtins.mapAttrs (_: v: { id = v; }) hashes