Improve some naming

This commit is contained in:
SebastianStork 2025-05-29 22:04:03 +02:00
parent 00adb88940
commit cd723b7fe8

View file

@ -10,13 +10,13 @@ let
hash = "sha256-wt3+xCsT83RpPySbL7dKVwgqjKw06qzrP2Em+SxEPto="; hash = "sha256-wt3+xCsT83RpPySbL7dKVwgqjKw06qzrP2Em+SxEPto=";
}; };
allVirtualHosts = virtualHosts =
config.custom.services.caddy.virtualHosts |> lib.filterAttrs (_: value: value.enable); config.custom.services.caddy.virtualHosts |> lib.filterAttrs (_: value: value.enable);
isTailscaleDomain = domain: domain |> lib.hasSuffix config.custom.services.tailscale.domain; isTailscaleDomain = domain: domain |> lib.hasSuffix config.custom.services.tailscale.domain;
tailscaleHostsExist = lib.any (v: isTailscaleDomain v.domain) (lib.attrValues allVirtualHosts); tailscaleHostsExist = lib.any (v: isTailscaleDomain v.domain) (lib.attrValues virtualHosts);
nonTailscaleHostsExist = lib.any (v: !isTailscaleDomain v.domain) (lib.attrValues allVirtualHosts); nonTailscaleHostsExist = lib.any (v: !isTailscaleDomain v.domain) (lib.attrValues virtualHosts);
getSubdomain = domain: domain |> lib.splitString "." |> lib.head; getSubdomain = domain: domain |> lib.splitString "." |> lib.head;
in in
@ -46,23 +46,23 @@ in
default = { }; default = { };
}; };
config = lib.mkIf (allVirtualHosts != { }) ( config = lib.mkIf (virtualHosts != { }) (
lib.mkMerge [ lib.mkMerge [
{ {
services.caddy = { services.caddy = {
enable = true; enable = true;
virtualHosts = lib.mapAttrs' ( virtualHosts = lib.mapAttrs' (
_: v: _: value:
lib.nameValuePair v.domain { lib.nameValuePair value.domain {
extraConfig = lib.concatStrings [ extraConfig = lib.concatStrings [
(lib.optionalString (isTailscaleDomain v.domain) '' (lib.optionalString (isTailscaleDomain value.domain) ''
bind tailscale/${getSubdomain v.domain} bind tailscale/${getSubdomain value.domain}
tailscale_auth tailscale_auth
'') '')
"reverse_proxy localhost:${toString v.port}" "reverse_proxy localhost:${toString value.port}"
]; ];
} }
) allVirtualHosts; ) virtualHosts;
}; };
networking.firewall.allowedTCPPorts = lib.mkIf nonTailscaleHostsExist [ networking.firewall.allowedTCPPorts = lib.mkIf nonTailscaleHostsExist [