{ config, pkgs, lib, ... }: let base_cgit_config = { enable = true; nginx.virtualHost = "cgit.rory.gay"; package = pkgs.cgit-pink; scanPath = "/data/nginx/html_git"; settings = { css = "/cgit.css"; logo = "/cgit.png"; favicon = "/favicon.ico"; readme = ":README.MD"; about-filter = "${pkgs.cgit-pink}/lib/cgit/filters/about-formatting.sh"; source-filter = "${pkgs.cgit-pink}/lib/cgit/filters/syntax-highlighting.py"; clone-url = (lib.concatStringsSep " " [ "https://cgit.rory.gay/$CGIT_REPO_URL" "ssh://@git.rory.gay:$CGIT_REPO_URL" ]); enable-log-filecount = 1; enable-log-linecount = 1; enable-git-config = 1; #testing enable-blame = 1; enable-commit-graph = 1; enable-follow-links = 1; enable-http-clone = 1; enable-index-links = 1; enable-remote-branches = 1; enable-subject-links = 1; enable-tree-linenumbers = 1; max-atom-items = 100; max-commit-count = 250; max-repo-count = 500; snapshots = "tar.xz"; #side-by-side-diffs = 1; root-title = "cgit.rory.gay"; root-desc = "Rory&s Git Repositories"; }; }; in { services.cgit."main" = base_cgit_config; services.cgit."ocp" = lib.attrsets.recursiveUpdate base_cgit_config { scanPath = "/data/nginx/html_git/.ocp"; nginx.location = "/.ocp/"; settings.clone-url = (lib.concatStringsSep " " [ "https://cgit.rory.gay/.ocp/$CGIT_REPO_URL" "ssh://@git.rory.gay:.ocp/$CGIT_REPO_URL" ]); }; }