2024-08-01 18:27:47 +00:00
|
|
|
{ pkgs, ... }:
|
|
|
|
let
|
2024-07-01 20:00:37 +00:00
|
|
|
modules = import ./go.nix;
|
2024-08-01 18:27:47 +00:00
|
|
|
in
|
|
|
|
{
|
2023-09-02 03:22:33 +00:00
|
|
|
services.caddy = {
|
|
|
|
enable = true;
|
|
|
|
virtualHosts = {
|
|
|
|
"jolheiser.com" = {
|
|
|
|
extraConfig = ''
|
2023-09-21 16:12:12 +00:00
|
|
|
handle_path /.well-known/webfinger {
|
2023-09-21 17:32:59 +00:00
|
|
|
header Content-Type application/jrd+json
|
2024-08-01 18:27:47 +00:00
|
|
|
respond ${
|
|
|
|
builtins.toJSON {
|
|
|
|
subject = "acct:john@jolheiser.com";
|
|
|
|
links = [
|
|
|
|
{
|
|
|
|
rel = "http://openid.net/specs/connect/1.0/issuer";
|
|
|
|
href = "https://auth.jolheiser.com";
|
|
|
|
}
|
|
|
|
];
|
2023-09-21 17:32:59 +00:00
|
|
|
}
|
2024-08-01 18:27:47 +00:00
|
|
|
}
|
2023-09-21 16:12:12 +00:00
|
|
|
}
|
2023-09-02 14:38:14 +00:00
|
|
|
handle_path /bennet* {
|
2024-07-12 04:08:39 +00:00
|
|
|
root * ${pkgs.jolheiser.bennet}
|
2023-09-02 14:38:14 +00:00
|
|
|
file_server
|
|
|
|
}
|
2023-10-15 20:07:13 +00:00
|
|
|
handle /resume* {
|
|
|
|
root * ${pkgs.jolheiser.resume}
|
|
|
|
rewrite /resume /resume.pdf
|
|
|
|
file_server
|
|
|
|
}
|
2023-09-02 14:38:14 +00:00
|
|
|
handle {
|
2023-09-24 06:28:57 +00:00
|
|
|
root * ${pkgs.jolheiser.website}
|
2023-09-02 14:38:14 +00:00
|
|
|
file_server
|
|
|
|
}
|
2023-09-02 03:22:33 +00:00
|
|
|
'';
|
2024-08-01 18:27:47 +00:00
|
|
|
serverAliases = [ "www.jolheiser.com" ];
|
2023-09-02 03:22:33 +00:00
|
|
|
};
|
2024-07-12 03:24:41 +00:00
|
|
|
"blog.jolheiser.com" = {
|
|
|
|
extraConfig = ''
|
|
|
|
root * ${pkgs.jolheiser.blog}
|
|
|
|
file_server
|
|
|
|
'';
|
|
|
|
};
|
2023-09-02 03:22:33 +00:00
|
|
|
"go.jolheiser.com" = {
|
2023-12-22 00:53:37 +00:00
|
|
|
extraConfig = ''
|
|
|
|
header Content-Type text/html
|
2024-07-01 20:00:37 +00:00
|
|
|
${modules}
|
2023-12-22 00:53:37 +00:00
|
|
|
respond /* `<html><head>
|
2024-07-26 15:38:18 +00:00
|
|
|
<meta name="go-import" content="go.jolheiser.com{path} git https://git.jolheiser.com{path}.git">
|
2024-05-24 01:49:32 +00:00
|
|
|
<meta http-equiv="refresh" content="3; url=https://pkg.go.dev/go.jolheiser.com{path}" />
|
2023-09-02 03:22:33 +00:00
|
|
|
</head><body>
|
2024-05-24 01:49:32 +00:00
|
|
|
Redirecting to <a href="https://pkg.go.dev/go.jolheiser.com{path}">https://pkg.go.dev/go.jolheiser.com{path}</a>
|
2023-09-02 03:22:33 +00:00
|
|
|
</body></html>`
|
2023-12-22 00:53:37 +00:00
|
|
|
'';
|
2023-09-02 03:22:33 +00:00
|
|
|
};
|
2024-03-19 03:06:34 +00:00
|
|
|
"git.jolheiser.com".extraConfig = ''
|
|
|
|
reverse_proxy localhost:8449
|
|
|
|
'';
|
2024-07-15 03:50:27 +00:00
|
|
|
"pr.jolheiser.com".extraConfig = ''
|
|
|
|
reverse_proxy localhost:7449
|
|
|
|
'';
|
2024-03-19 03:06:34 +00:00
|
|
|
"social.jolheiser.com".extraConfig = ''
|
|
|
|
reverse_proxy localhost:4686
|
|
|
|
'';
|
|
|
|
"auth.jolheiser.com".extraConfig = ''
|
|
|
|
reverse_proxy localhost:2884
|
|
|
|
'';
|
|
|
|
"todo.jolheiser.com".extraConfig = ''
|
|
|
|
reverse_proxy localhost:8636
|
|
|
|
'';
|
2024-03-24 14:48:49 +00:00
|
|
|
"recipes.jolheiser.com".extraConfig = ''
|
|
|
|
reverse_proxy localhost:3663
|
|
|
|
'';
|
2024-07-18 21:33:48 +00:00
|
|
|
"irc.jolheiser.com".extraConfig = ''
|
|
|
|
reverse_proxy localhost:7658
|
|
|
|
'';
|
2023-09-02 03:22:33 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|