diff options
Diffstat (limited to 'modules/services')
| -rw-r--r-- | modules/services/favicon.svg | 1 | ||||
| -rw-r--r-- | modules/services/nixos/cgit.nix | 37 |
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 } } ''; |
