# Imported by every machine in the swarm: the swarm's shared facts, the VPN and # the names inside it. `services.hyperhive.swarm.*` has to be identical on all # of them, so it lives here and nowhere else. { imports = [ ./wireguard.nix ./gateway.nix ./dns.nix ]; services.hyperhive.swarm = { domain = "myswarm.example"; # Every hive, including the one a machine does not run. Names only: each # hive's domain defaults to `.myswarm.example`. A hive name may not # contain "hive", "agent" or "swarm", so the machines `hive-one` and # `hive-two` run the hives `one` and `two`. hives = { one = { }; two = { }; }; }; }