diff options
Diffstat (limited to 'nixos/sites/go-packages.nix')
-rw-r--r-- | nixos/sites/go-packages.nix | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/nixos/sites/go-packages.nix b/nixos/sites/go-packages.nix new file mode 100644 index 0000000..639b4c5 --- /dev/null +++ b/nixos/sites/go-packages.nix @@ -0,0 +1,20 @@ +{ pkgs }: +with pkgs.lib; + +let + mkLocation = virtualHost: module: url: { + name = "/${module}"; + value = { + extraConfig = '' + if ($args = "go-get=1") { + add_header Content-Type text/html; + return 200 '<meta name="go-import" content="${virtualHost}/${module} git ${url}">'; + } + return 302 ${url}; + ''; + }; + }; + +in { virtualHost, modules }: { + locations = listToAttrs (mapAttrsToList (mkLocation virtualHost) modules); +} |