diff options
| author | Jake Zerrer <him@jakezerrer.com> | 2025-11-30 12:31:01 -0500 |
|---|---|---|
| committer | Jake Zerrer <him@jakezerrer.com> | 2025-11-30 16:55:25 -0500 |
| commit | 034e30d70aeac7ce18f34be6a1c211730e9fd7fb (patch) | |
| tree | d40ac8140e45998f31fc8540b044f049bb39717c | |
| parent | 6ff0c36b0491332bc870891287d8ff94f1ccbe13 (diff) | |
Use cgit instead
| -rw-r--r-- | server/server.nix | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/server/server.nix b/server/server.nix index 956bf5c..f751083 100644 --- a/server/server.nix +++ b/server/server.nix @@ -14,8 +14,10 @@ users.users.git = { isNormalUser = true; + group = "git"; home = "/var/git"; createHome = true; + homeMode = "750"; description = "Git repository hosting user"; packages = [ pkgs.git ]; openssh.authorizedKeys.keys = [ @@ -23,6 +25,15 @@ ]; }; + users.groups.git = { + members = [ "cgit" ]; + }; + + systemd.tmpfiles.rules = [ + "d /var/git 0750 git git -" + "Z /var/git - git git -" + ]; + sops = { defaultSopsFile = ./secrets/secrets.yaml; defaultSopsFormat = "yaml"; @@ -40,26 +51,25 @@ ]; }; - services.gitweb = { - projectroot = "/var/git"; - extraConfig = '' - $site_name = "jake's git host"; - $feature{'highlight'}{'default'} = [1]; - $projects_list_description_width = 50; - ''; + services.cgit.main = { + enable = true; + + nginx.virtualHost = "git.jakezerrer.com"; + nginx.location = "/"; + + scanPath = "/var/git"; + + settings = { + root-title = "jake's git host"; + enable-git-config = true; + source-filter = "${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py"; + enable-index-owner = false; + }; }; services.nginx = { enable = true; - gitweb = { - enable = true; - location = ""; - virtualHost = "git.jakezerrer.com"; - user = "git"; - group = "nginx"; - }; - virtualHosts."git.jakezerrer.com" = { enableACME = true; forceSSL = true; @@ -70,10 +80,4 @@ acceptTerms = true; defaults.email = "him@jakezerrer.com"; }; - - systemd.services.gitweb = { - serviceConfig = { - UMask = "0007"; - }; - }; } |
