Home

infra @9eac237b3403689f939e0820ba810cf376638f65 - refs - log -
-
https://git.jolheiser.com/infra.git
dragonwell flake
infra / dragonwell / go.nix
- raw -
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
let
  altModules = [
    {
      name = "hcaptcha";
      repo = "gitea.com/jolheiser/hcaptcha";
    }
    {
      name = "pwn";
      repo = "gitea.com/jolheiser/pwn";
    }
  ];
  redirects = builtins.concatStringsSep "\n" (
    builtins.map (module: ''
      respond /${module.name}* `<html><head>
                <meta name="go-import" content="go.jolheiser.com/${module.name} git https://${module.repo}.git">
                <meta http-equiv="refresh" content="3; url=https://pkg.go.dev/go.jolheiser.com/${module.name}" />
                </head><body>
                Redirecting to <a href="https://pkg.go.dev/go.jolheiser.com/${module.name}">https://pkg.go.dev/go.jolheiser.com/${module.name}</a>
                </body></html>`
    '') altModules
  );
in
{
  services.caddy.virtualHosts."go.jolheiser.com" = {
    extraConfig = ''
      header Content-Type text/html
      ${redirects}
      respond /* `<html><head>
        <meta name="go-import" content="go.jolheiser.com{path} git https://git.jolheiser.com{path}.git">
        <meta http-equiv="refresh" content="3; url=https://pkg.go.dev/go.jolheiser.com{path}" />
        </head><body>
        Redirecting to <a href="https://pkg.go.dev/go.jolheiser.com{path}">https://pkg.go.dev/go.jolheiser.com{path}</a>
        </body></html>`
    '';
  };
}