From b63ed56dba2d3dc27338715f3a9d29db571797b1 Mon Sep 17 00:00:00 2001 From: niten Date: Thu, 26 Jan 2023 13:47:43 -0800 Subject: [PATCH] IP addrs may not exist --- lib.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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) ];