{ inputs }: let vpnNS = "vpn"; localNS = "hq"; peers = import ./peers.nix; hosts = ((import ../../hosts.nix ) {}).malobeo.hosts; in { SOA = { nameServer = "ns1"; adminEmail = "admin@malobeo.org"; serial = 2019030801; }; useOrigin = false; NS = [ "ns1.malobeo.org." ]; subdomains = { ns1 = { A = [ hosts.ns1.network.address ]; }; ${localNS} = { A = [ hosts.fanny.network.address ]; subdomains = builtins.mapAttrs (name: value: if value.network.local == true then { A = [ value.network.address ]; } else {}) hosts; }; ${vpnNS} = { A = [ peers.vpn.address ]; subdomains = builtins.mapAttrs (name: value: if value.role != "server" then { A = [ value.address ]; } else {}) peers; }; }; }