From 326c4a1796869e8624489a8f99241e3860e9db9b Mon Sep 17 00:00:00 2001 From: niten Date: Tue, 14 Nov 2023 08:51:36 -0800 Subject: [PATCH] Get gateway, whether it's an IP or hostname And add v6 versions --- lib.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib.nix b/lib.nix index cd3ca17..41c5ac5 100644 --- a/lib.nix +++ b/lib.nix @@ -37,9 +37,19 @@ let attrNames (filterAttrs (_: hostOpts: hostOpts.domain == domain) entities.hosts); - getSiteGateway = site: entities.sites."${site-name}".gateway-v4; + getSiteGatewayV4 = siteName: + let site = config.fudo.sites."${siteName}"; + in if hasAttr "local-gateway" site then getHostIpv4 else site.gateway-v4; - getHostGateway = hostname: (getHostSite hostname).gateway-v4; + getHostGatewayV4 = hostname: + getSiteGatewayV4 config.fudo.hosts."${hostname}".site; + + getSiteGatewayV6 = siteName: + let site = config.fudo.sites."${siteName}"; + in if hasAttr "local-gateway" site then getHostIpv6 else site.gateway-v6; + + getHostGatewayV6 = hostname: + getSiteGatewayV6 config.fudo.hosts."${hostname}".site; in { inherit getHostSite getHostDomain getHostRealm getHostFqdn getHostIpv4