From 96d0c89447d00e7cee5d26b5cb1e08f01deae768 Mon Sep 17 00:00:00 2001 From: Christian Krinitsin Date: Mon, 7 Apr 2025 23:22:48 +0200 Subject: add a barebones git server with cgit-ping as a web frontend The serves works as a mirror for my github account, a shell script resyncs the mirror every day --- modules/git/cgit.nix | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 modules/git/cgit.nix (limited to 'modules/git/cgit.nix') diff --git a/modules/git/cgit.nix b/modules/git/cgit.nix new file mode 100644 index 0000000..900f350 --- /dev/null +++ b/modules/git/cgit.nix @@ -0,0 +1,62 @@ +{ config, pkgs, lib , ... }: +{ + + services.cgit.git = { + enable = true; + package = pkgs.cgit-pink; + user = "git"; + group = "git"; + scanPath = "/null"; + + extraConfig = '' + root-title=git.krinitsin + root-desc=github mirror + footer= + logo= + css=/cur-cgit.css + + clone-url=git@krinitsin.com:$CGIT_REPO_URL + snapshots=tar.gz zip + + cache-size=1000 + + enable-index-owner=0 + enable-http-clone=0 + enable-blame=1 + enable-commit-graph=1 + + + enable-log-filecount=1 + enable-log-linecount=1 + branch-sort=age + + max-stats=quarter + + source-filter=${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py + about-filter=${pkgs.cgit}/lib/cgit/filters/about-formatting.sh + + readme=:README.md + readme=:readme.md + + enable-follow-links=1 + enable-git-config=1 + remove-suffix=1 + + scan-path=/var/lib/git-server + ''; + + nginx = { + virtualHost = "git.krinitsin.com"; + location = "/"; + }; + }; + + services.nginx.virtualHosts."git.krinitsin.com" = { + forceSSL = true; + useACMEHost = "krinitsin.com"; + locations."= /cur-cgit.css".alias = /var/www/cur-cgit.css; + }; + + security.acme.certs."krinitsin.com".extraDomainNames = [ "git.krinitsin.com" ]; + +} -- cgit 1.4.1