65 lines
2.0 KiB
Nix
65 lines
2.0 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: let
|
|
packages = ["tmpl" "git-age" "ffmd" "kv"];
|
|
in {
|
|
services.caddy = {
|
|
enable = true;
|
|
virtualHosts = {
|
|
"jolheiser.com" = {
|
|
extraConfig = ''
|
|
handle_path /.well-known/webfinger {
|
|
header Content-Type application/jrd+json
|
|
respond ${builtins.toJSON {
|
|
subject = "acct:john@jolheiser.com";
|
|
links = [
|
|
{
|
|
rel = "http://openid.net/specs/connect/1.0/issuer";
|
|
href = "https://git.jojodev.com/";
|
|
}
|
|
];
|
|
}}
|
|
}
|
|
handle_path /bennet* {
|
|
root * /srv/bennet/src
|
|
file_server
|
|
}
|
|
handle /resume* {
|
|
root * ${pkgs.jolheiser.resume}
|
|
rewrite /resume /resume.pdf
|
|
file_server
|
|
}
|
|
handle {
|
|
root * ${pkgs.jolheiser.website}
|
|
file_server
|
|
}
|
|
'';
|
|
serverAliases = ["www.jolheiser.com"];
|
|
};
|
|
"go.jolheiser.com" = {
|
|
extraConfig =
|
|
''
|
|
header Content-Type text/html
|
|
respond / `<html><head><title>Go Packages</title></head><body><ul>${lib.strings.concatMapStrings (pkg: "<li><a href=\"${pkg}\">${pkg}</a></li>") packages}</ul></body></html>`
|
|
''
|
|
+ lib.strings.concatMapStrings (pkg: ''
|
|
respond /${pkg}* `<html><head>
|
|
<meta name="go-import" content="git.jojodev.com/jolheiser/${pkg} git https://git.jojodev.com/jolheiser/${pkg}.git">
|
|
<meta http-equiv="refresh" content="3; url=https://pkg.go.dev/go.jolheiser.com/${pkg}" />
|
|
</head><body>
|
|
Redirecting to <a href="https://pkg.go.dev/go.jolheiser.com/${pkg}">https://pkg.go.dev/go.jolheiser.com/${pkg}</a>
|
|
</body></html>`
|
|
'')
|
|
packages;
|
|
};
|
|
"git.jolheiser.com" = {
|
|
extraConfig = ''
|
|
redir https://git.jojodev.com/jolheiser{uri}
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
}
|