aboutsummaryrefslogtreecommitdiff
path: root/modules/services/nixos/cgit.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/services/nixos/cgit.nix')
-rw-r--r--modules/services/nixos/cgit.nix37
1 files changed, 28 insertions, 9 deletions
diff --git a/modules/services/nixos/cgit.nix b/modules/services/nixos/cgit.nix
index ed8bce2..e1726bc 100644
--- a/modules/services/nixos/cgit.nix
+++ b/modules/services/nixos/cgit.nix
@@ -72,11 +72,21 @@ in {
'';
environment.etc."cgitrc".text = ''
- scan-path=/var/lib/cgit
- virtual-root=/
+ logo=/favicon.svg
+ favicon=/favicon.svg
+
repo.sort=age
+ enable-http-clone=1
+ diff-style=ssdiff
+
+ root-title=Ganymede Public Git Server
+ root-desc=
readme=:README.md
+ about-filter=${pkgs.cgit}/lib/cgit/filters/html-converters/md2html
+
+ virtual-root=/
+ scan-path=/var/lib/cgit
'';
services.fcgiwrap.instances."cgit" = {
@@ -93,22 +103,31 @@ in {
};
};
- networking.extraHosts = ''
- 127.0.0.1 git.ganymede
- '';
+ networking.extraHosts = "127.0.0.1 git.ganymede";
+ services.caddy.virtualHosts."git.ganymede".extraConfig = let
+ custom_cgit = pkgs.stdenv.mkDerivation {
+ name = "custom-cgit-assets";
+ src = pkgs.cgit;
+ installPhase = ''
+ mkdir -p $out
+ cp -pPR ./cgit/* $out/
- services.caddy.virtualHosts."git.ganymede".extraConfig = ''
+ rm -f $out/cgit.png $out/favicon.ico
+ cp -f ${../favicon.svg} $out/favicon.svg
+ '';
+ };
+ in ''
tls internal
- @assets path /cgit.css /cgit.js /cgit.png /favicon.ico /robots.txt
+ @assets path /cgit.css /cgit.js /favicon.svg /robots.txt
handle @assets {
- root * ${pkgs.cgit}/cgit
+ root * ${custom_cgit}
file_server
}
reverse_proxy unix//run/fcgiwrap-cgit.sock {
transport fastcgi {
- env SCRIPT_FILENAME ${pkgs.cgit}/cgit/cgit.cgi
+ env SCRIPT_FILENAME ${custom_cgit}/cgit.cgi
}
}
'';