summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Zerrer <him@jakezerrer.com>2025-11-30 12:31:01 -0500
committerJake Zerrer <him@jakezerrer.com>2025-11-30 16:55:25 -0500
commit034e30d70aeac7ce18f34be6a1c211730e9fd7fb (patch)
treed40ac8140e45998f31fc8540b044f049bb39717c
parent6ff0c36b0491332bc870891287d8ff94f1ccbe13 (diff)
Use cgit instead
-rw-r--r--server/server.nix46
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";
- };
- };
}