diff --git a/lib.nix b/lib.nix index b4b47a4..97a0e48 100644 --- a/lib.nix +++ b/lib.nix @@ -19,8 +19,12 @@ let hostNetwork = entities.zones."${hostDomain}"; in hostNetwork.hosts."${hostname}"; - getHostIpv4 = hostname: (getHostNetworkSettings hostname).ipv4-address; - getHostIpv6 = hostname: (getHostNetworkSettings hostname).ipv6-address; + getIfAttr = as: a: if hasAttr as a then getAttr as a else null; + + getHostIpv4 = hostname: + getIfAttr (getHostNetworkSettings hostname) "ipv4-address"; + getHostIpv6 = hostname: + getIfAttr (getHostNetworkSettings hostname) "ipv6-address"; getHostIps = hostname: filter (o: o != null) [ (getHostIpv4 hostname) (getHostIpv6 hostname) ];