summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2022-02-02 14:56:56 -0500
committerBen Sima <ben@bsima.me>2022-02-02 14:56:56 -0500
commit37c7c93a11767fac68e2a5e94a8c8d36fc8c7a30 (patch)
tree7ab02555c6b8508693a5529c61ffad3c288834d6
parentcfc91791defd0657dfa20da5a7a5aa6cda6097e0 (diff)
Move all git stuff to Git.nix
Well except for the redirect, but that's an annoying part of the cgit implementation which will hopefully go away at some point.
-rw-r--r--Biz/Cloud/Git.nix23
-rw-r--r--Biz/Cloud/Web.nix25
2 files changed, 26 insertions, 22 deletions
diff --git a/Biz/Cloud/Git.nix b/Biz/Cloud/Git.nix
index eb61a10..d1cdf9f 100644
--- a/Biz/Cloud/Git.nix
+++ b/Biz/Cloud/Git.nix
@@ -1,6 +1,7 @@
{ pkgs, lib, config, ... }:
let
+ inherit (config.networking) domain;
root = "/var/git";
in {
services = {
@@ -31,6 +32,28 @@ in {
user = "gitDaemon";
group = "gitDaemon";
};
+ nginx.virtualHosts.${domain}.cgit = {
+ enable = true;
+ location = "/git";
+ virtual-root = "/git";
+ css = "/git/cgit.css";
+ logo = "/git/cgit.png";
+ root-title = "ben's git repos";
+ root-desc = "building";
+ enable-git-config = 1;
+ clone-url = lib.strings.concatStringsSep " " [
+ "https://$HTTP_HOST/git/$CGIT_REPO_URL"
+ "git://$HTTP_HOST/$CGIT_REPO_URL"
+ "git@$HTTP_HOST:$CGIT_REPO_URL"
+ ];
+ include = [
+ # these depend on order, scan-path must come last
+ (builtins.toFile "cgitrc" ''
+ strict-export=git-daemon-export-ok
+ scan-path=${root}/repositories
+ '')
+ ];
+ };
};
# need to specify that these users can access git files by being part of the
# git group
diff --git a/Biz/Cloud/Web.nix b/Biz/Cloud/Web.nix
index 08e2267..fbe4e03 100644
--- a/Biz/Cloud/Web.nix
+++ b/Biz/Cloud/Web.nix
@@ -66,6 +66,9 @@ in
forceSSL = true;
enableACME = true;
locations = {
+ # the nginx/cgit module puts a '/' at the end of 'location', so we need to
+ # redirect '/git' to '/git/'
+ "/git".return = "301 https://$host/git/";
"/" = {
root = "/var/web/simatime.com";
extraConfig = ''
@@ -81,28 +84,6 @@ in
'';
};
};
- cgit = {
- enable = true;
- location = "/git";
- virtual-root = "/git";
- css = "/git/cgit.css";
- logo = "/git/cgit.png";
- root-title = "ben's git repos";
- root-desc = "building";
- enable-git-config = 1;
- clone-url = lib.strings.concatStringsSep " " [
- "https://$HTTP_HOST/git/$CGIT_REPO_URL"
- "git://$HTTP_HOST/$CGIT_REPO_URL"
- "git@$HTTP_HOST:$CGIT_REPO_URL"
- ];
- include = [
- # these depend on order, scan-path must come last
- (builtins.toFile "cgitrc" ''
- strict-export=git-daemon-export-ok
- scan-path=/var/git/repositories
- '')
- ];
- };
};
"bsima.me" = {