nixfiles/test.nix
2023-12-06 10:21:07 +01:00

48 lines
1.2 KiB
Nix

let
extraConfig = ''
add_header Referrer-Policy "same-origin" always;
'';
func = builtins.mapAttrs (vhostName: vhostCfg:
let
def = {
forceSSL = true;
http3 = true;
quic = true;
};
conf = if builtins.hasAttr "redirectTo" vhostCfg
then {
useACMEHost = vhostCfg.redirectTo;
globalRedirect = vhostCfg.redirectTo;
}
else if builtins.hasAttr "ACMEHost" vhostCfg
then {
useACMEHost = vhostCfg.ACMEHost;
root = vhostCfg.webroot;
}
else {
enableACME = true;
root = vhostCfg.webroot;
};
otherCfg = (builtins.removeAttrs vhostCfg [ "redirectTo" "ACMEHost" "webroot" "extraConfig" ] // (
if builtins.hasAttr "extraConfig" vhostCfg
then { extraConfig = ''${vhostCfg.extraConfig} ${extraConfig}''; }
else { inherit extraConfig; }
));
in
conf // def // otherCfg
);
in {
test = func {
"www.miau.zip" = {
redirectTo = "miau.zip";
};
"miau.zip" = {
ACMEHost = "miau.zip";
webroot = "/skgj";
locations."/".extraConfig = "fsfs";
extraConfig = ''
skfdsjf
'';
};
};
}