From f08a6c4d76108a5cf38394ce57e480c9ab412968 Mon Sep 17 00:00:00 2001 From: Leander Scherer Date: Fri, 13 Mar 2026 11:48:21 +0100 Subject: feat(git): setup git server with cgit --- modules/services/cgit.nix | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 modules/services/cgit.nix (limited to 'modules/services/cgit.nix') diff --git a/modules/services/cgit.nix b/modules/services/cgit.nix new file mode 100644 index 0000000..ad99d3d --- /dev/null +++ b/modules/services/cgit.nix @@ -0,0 +1,44 @@ +{ + flake.modules.nixos.cgit = + { + config, + lib, + pkgs, + ... + }: + { + services.cgit."git-server" = { + enable = true; + + scanPath = "/var/lib/git-server"; + + user = "git"; + group = "git"; + + nginx.virtualHost = "git.schererleander.de"; + + gitHttpBackend = { + enable = true; + checkExportOkFiles = false; + }; + + settings = { + "root-title" = "My Git Repositories"; + "root-desc" = "Self-hosted NixOS Git server"; + "clone-url" = + "https://git.schererleander.de/$CGIT_REPO_URL ssh://git@git.schererleander.de/$CGIT_REPO_URL"; + "enable-http-clone" = 1; + "enable-commit-graph" = 1; + "enable-log-filecount" = 1; + "enable-log-linecount" = 1; + "branch-sort" = "age"; + }; + }; + + services.nginx.virtualHosts."git.schererleander.de" = { + forceSSL = true; + sslCertificate = config.sops.secrets."cert_fullchain".path; + sslCertificateKey = config.sops.secrets."cert_private".path; + }; + }; +} -- cgit v1.3.1