aboutsummaryrefslogtreecommitdiff
path: root/modules/services
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-02-21 20:31:40 -0600
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-02-21 20:31:40 -0600
commit3f96728ca37696ad24c0f37face720024c9d6f9a (patch)
tree190ff39363e84f3054fa1d9c63337305640021a6 /modules/services
parent288645c470028157c3b6850afe06bfa1968d314b (diff)
cgit additions
Diffstat (limited to 'modules/services')
-rw-r--r--modules/services/favicon.svg1
-rw-r--r--modules/services/nixos/cgit.nix37
2 files changed, 29 insertions, 9 deletions
diff --git a/modules/services/favicon.svg b/modules/services/favicon.svg
new file mode 100644
index 0000000..52c5f79
--- /dev/null
+++ b/modules/services/favicon.svg
@@ -0,0 +1 @@
+<svg version="1.1" viewBox="0.0 0.0 288.0 288.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><clipPath id="p.0"><path d="m0 0l288.0 0l0 288.0l-288.0 0l0 -288.0z" clip-rule="nonzero"/></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l288.0 0l0 288.0l-288.0 0z" fill-rule="evenodd"/><defs><linearGradient id="p.1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(18.149084525702985 0.0 0.0 18.149084525702985 0.0 0.0)" spreadMethod="pad" x1="7.934265855638697" y1="20.767769854446048" x2="20.767769854446048" y2="7.93459237442547"><stop offset="0.0" stop-color="#3d85c6"/><stop offset="1.0" stop-color="#073763"/></linearGradient></defs><path fill="url(#p.1)" d="m27.54593 66.36561l0 0c0 -21.439518 17.38016 -38.81968 38.81968 -38.81968l155.27405 0l0 0c10.2956085 0 20.169556 4.08992 27.449646 11.37002c7.2800903 7.280102 11.370026 17.154037 11.370026 27.449657l0 155.27405c0 21.439514 -17.380157 38.81967 -38.81967 38.81967l-155.27405 0c-21.439518 0 -38.81968 -17.380157 -38.81968 -38.81967z" fill-rule="evenodd"/><path stroke="#073763" stroke-width="8.0" stroke-linejoin="round" stroke-linecap="butt" d="m27.54593 66.36561l0 0c0 -21.439518 17.38016 -38.81968 38.81968 -38.81968l155.27405 0l0 0c10.2956085 0 20.169556 4.08992 27.449646 11.37002c7.2800903 7.280102 11.370026 17.154037 11.370026 27.449657l0 155.27405c0 21.439514 -17.380157 38.81967 -38.81967 38.81967l-155.27405 0c-21.439518 0 -38.81968 -17.380157 -38.81968 -38.81967z" fill-rule="evenodd"/><path fill="#073763" d="m106.705 143.98044l0 0c0 -20.586746 16.68885 -37.275597 37.27559 -37.275597l0 0c9.886108 0 19.367294 3.9272385 26.357819 10.91777c6.9905396 6.9905243 10.91777 16.471718 10.91777 26.357826l0 0c0 20.586731 -16.688843 37.27559 -37.27559 37.27559l0 0c-20.586739 0 -37.27559 -16.688858 -37.27559 -37.27559z" fill-rule="evenodd"/><path stroke="#073763" stroke-width="8.0" stroke-linejoin="round" stroke-linecap="butt" d="m106.705 143.98044l0 0c0 -20.586746 16.68885 -37.275597 37.27559 -37.275597l0 0c9.886108 0 19.367294 3.9272385 26.357819 10.91777c6.9905396 6.9905243 10.91777 16.471718 10.91777 26.357826l0 0c0 20.586731 -16.688843 37.27559 -37.27559 37.27559l0 0c-20.586739 0 -37.27559 -16.688858 -37.27559 -37.27559z" fill-rule="evenodd"/></g></svg>
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
}
}
'';