diff --git a/hosts/unstable/genesis/networking.nix b/hosts/unstable/genesis/networking.nix index 1c6ce4a..2d6784a 100644 --- a/hosts/unstable/genesis/networking.nix +++ b/hosts/unstable/genesis/networking.nix @@ -115,10 +115,15 @@ in "@\tIN\tSOA\t${config.networking.hostName}\tgreg@thehellings.com (1 1m 1m 1m 1m)" "\tIN\tNS\t${config.networking.hostName}" ]; - makeHost = host: "${host.name}\tIN\tA\t${host.address}"; + makeHost = + host: + [ "${host.name}\tIN\tA\t${host.address}" ] + ++ lib.map (a: "${a}\tIN\tA\t${host.address}") ( + if builtins.hasAttr "aliases" host then host.aliases else [ ] + ); in pkgs.writeText "${domain}" ( - builtins.concatStringsSep "\n" (preamble ++ (lib.map makeHost hosts) ++ [ "" ]) + builtins.concatStringsSep "\n" (preamble ++ (lib.flatten (lib.map makeHost hosts)) ++ [ "" ]) ); in lib.mapAttrs diff --git a/lib/default.nix b/lib/default.nix index 5ec9cc1..bdec5dd 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -15,6 +15,7 @@ (name: value: { inherit name; address = builtins.getAttr netAttr value; + aliases = lib.optionals (builtins.hasAttr "aliases" value) (builtins.getAttr "aliases" value); }) ( lib.filterAttrs ( diff --git a/network.json b/network.json index 8cecb1d..8767293 100644 --- a/network.json +++ b/network.json @@ -13,7 +13,8 @@ "ip": "10.42.1.4", "pubkey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEBecZUva9OnZuXLaBun6/1ITo5f9p0YMLPD+q0egLRS", "external": true, - "ts": "100.119.228.115" + "ts": "100.119.228.115", + "aliases": [ "s3" ] }, "exodus": { "ip": null,