summaryrefslogtreecommitdiff
path: root/modules/git/cgit.nix
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-10-08 22:14:13 -0400
committerRaghuram Subramani <raghus2247@gmail.com>2025-10-08 22:14:13 -0400
commitae750d5cc7f39a69728051ff577fd0a5abb41049 (patch)
tree2cc0e73b82a867d25417d137e23c726a16ee42db /modules/git/cgit.nix
parent50f83e589ba6de2e17d42ae8f729a62344ee89a9 (diff)
add git vm
Diffstat (limited to 'modules/git/cgit.nix')
-rw-r--r--modules/git/cgit.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/git/cgit.nix b/modules/git/cgit.nix
new file mode 100644
index 0000000..d7d172b
--- /dev/null
+++ b/modules/git/cgit.nix
@@ -0,0 +1,41 @@
+{ config, ... }:
+
+let
+ repositoryPath = "/home/compromyse";
+in {
+ services.cgit = {
+ enable = true;
+ scanPath = repositoryPath;
+ settings = {
+ root-title = "compromyse: CGIT";
+ root-desc = "Compromyse's Git Repositories";
+ clone-url = "https://git.compromyse.xyz/$CGIT_REPO_URL";
+ enable-commit-graph = 1;
+ enable-log-filecount = 1;
+ enable-log-linecount = 1;
+ };
+ };
+
+ services.fcgiwrap.enable = true;
+
+ services.nginx = {
+ enable = true;
+ virtualHosts."git.compromyse.com" = {
+ forceSSL = true;
+ enableACME = true;
+ root = "${pkgs.cgit}/cgit";
+ locations."/" = {
+ extraConfig = ''
+ include ${pkgs.cgit}/cgit/cgit.conf;
+ fastcgi_pass unix:${config.services.fcgiwrap.socketAddress};
+ fastcgi_param SCRIPT_FILENAME ${pkgs.cgit}/cgit/cgit.cgi;
+ fastcgi_param PATH_INFO $uri;
+ include ${pkgs.nginx}/conf/fastcgi_params;
+ '';
+ };
+ };
+ };
+
+ security.acme.acceptTerms = true;
+ security.acme.defaults.email = "raghus2247@gmail.com";
+}