diff --git a/lib.nix b/lib.nix index 50de33c..4b97b67 100644 --- a/lib.nix +++ b/lib.nix @@ -12,4 +12,18 @@ let let hostDomain = entities.hosts."${hostname}".domain; in "${hostname}.${hostDomain}"; -in { inherit getHostSite getHostDomain getHostRealm getHostFqdn; } + getHostNetworkSettings = hostname: + let + hostDomain = entities.hosts."${hostname}".domain; + hostNetwork = entities.zones."${hostDomain}"; + in hostNetwork.hosts."${hostname}"; + + getHostIpv4 = hostname: (getHostNetworkSettings hostname).ipv4-address; + getHostIpv6 = hostname: (getHostNetworkSettings hostname).ipv6-address; + getHostIps = + filter (o: o != null) [ (getHostIpv4 hostname) (getHostIpv6 hostname) ]; + +in { + inherit getHostSite getHostDomain getHostRealm getHostFqdn getHostIpv4 + getHostIpv6 getHostIps; +}