Switch back to cgit service which uses nginx again now
HEAD main1 files changed, 31 insertions, 47 deletions
diff --git a/git.nix b/git.nix
index dc120f8..a18ff6a 100644
--- a/git.nix
+++ b/git.nix
@@ -1,5 +1,5 @@
# HTTP Git hosting
-# Copyright (C) 2023 Nguyễn Gia Phong
+# Copyright (C) 2023-2024 Nguyễn Gia Phong
#
# This file is part of loang configuration.
#
@@ -20,57 +20,41 @@
let
inherit (config.networking) domain;
cgit = pkgs.cgit-pink;
-in {
- services = let
- cgitrc = pkgs.writeText "cgitrc" ''
- about-filter=${cgit}/lib/cgit/filters/about-formatting.sh
- css=/style.css
- favicon=/favicon.ico
- logo=/cgit.png
- source-filter=${cgit}/lib/cgit/filters/syntax-highlighting.py
- virtual-root=/
+ css = builtins.readFile "${cgit}/cgit/cgit.css" + ''
- clone-url=${httpsClone} ${sshClone}
- enable-blame=1
- enable-git-config=1
- enable-index-links=1
- enable-index-owner=0
- readme=:README.md
- snapshots=tar.gz tar.zst
- scan-path=${scanPath}
- '';
- css = builtins.readFile "${cgit}/cgit/cgit.css" + ''
+ div#cgit {
+ font-size: initial;
+ }
+ '';
+ httpsClone = "https://trong.${domain}/$CGIT_REPO_URL";
+ scanPath = "/var/lib/git";
+ sshClone = "ssh://${domain}:2211${scanPath}/$CGIT_REPO_URL";
+in {
+ services = {
+ cgit.trong = {
+ enable = true;
+ nginx.virtualHost = "trong.${domain}";
+ package = cgit;
+ scanPath = scanPath;
+ settings = {
+ about-filter = "${cgit}/lib/cgit/filters/about-formatting.sh";
+ source-filter = "${cgit}/lib/cgit/filters/syntax-highlighting.py";
+ css = "/style.css";
- div#cgit {
- font-size: initial;
- }
- '';
- httpsClone = "https://trong.${domain}/$CGIT_REPO_URL";
- scanPath = "/var/lib/git";
- sshClone = "ssh://${domain}:2211${scanPath}/$CGIT_REPO_URL";
- in {
- fcgiwrap.enable = true;
+ clone-url = "${httpsClone} ${sshClone}";
+ enable-blame = true;
+ enable-git-config = true;
+ enable-index-links = true;
+ enable-index-owner = false;
+ readme = ":README.md";
+ snapshots = "tar.gz";
+ };
+ };
- nginx.virtualHosts."trong.${domain}" = {
+ nginx.virtualHosts."${config.services.cgit.trong.nginx.virtualHost}" = {
enableACME = true;
forceSSL = true;
- locations = {
- "/" = {
- root = "${cgit}/cgit/";
- tryFiles = "$uri @cgit";
- };
- "~ ^/(cgit.png|favicon.ico|robots.txt)$".alias = "${cgit}/cgit/$1";
- "= /style.css".alias = builtins.toFile "style.css" css;
- "@cgit".extraConfig = ''
- include ${pkgs.nginx}/conf/fastcgi_params;
- fastcgi_param CGIT_CONFIG ${cgitrc};
- fastcgi_param HTTP_HOST $server_name;
- fastcgi_param PATH_INFO $uri;
- fastcgi_param QUERY_STRING $args;
- fastcgi_param SCRIPT_FILENAME ${cgit}/cgit/cgit.cgi;
- fastcgi_pass unix:${config.services.fcgiwrap.socketAddress};
- '';
- };
+ locations."= /style.css".alias = builtins.toFile "style.css" css;
};
};
}
|