summaryrefslogtreecommitdiff
path: root/nixos/sites/cgit.nix
diff options
context:
space:
mode:
authorEthel Morgan <eth@ethulhu.co.uk>2020-07-11 14:10:50 +0100
committerEthel Morgan <eth@ethulhu.co.uk>2020-07-11 14:10:50 +0100
commita280569c89bef9d67e20db601a0a26cc3b0fe302 (patch)
tree1bacf6bfce4216a53892dde1667727670aa31393 /nixos/sites/cgit.nix
parentb62307bf39fcb476bad015bd7ec34e7e2c04e9e4 (diff)
replace cgit and go-packages with sites.* functions
Diffstat (limited to 'nixos/sites/cgit.nix')
-rw-r--r--nixos/sites/cgit.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/nixos/sites/cgit.nix b/nixos/sites/cgit.nix
new file mode 100644
index 0000000..10037bd
--- /dev/null
+++ b/nixos/sites/cgit.nix
@@ -0,0 +1,55 @@
+{ pkgs, lib }:
+
+{ fcgiwrapSocket
+, scanPath
+, projectList
+
+, aboutFilter ? "${pkgs.cgit}/lib/cgit/filters/about-formatting.sh"
+, sourceFilter ? "${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py"
+
+, extraConfig ? ""
+}:
+
+let
+ cgitConfig = pkgs.writeText "cgitrc" ''
+ cache-size=1000
+ virtual-root=/
+
+ about-filter=${aboutFilter}
+ source-filter=${sourceFilter}
+
+ remove-suffix=1
+
+ enable-git-config=1
+ #enable-gitweb-owner=1
+ project-list=${projectList}
+ scan-path=${scanPath}
+
+ enable-blame=1
+ enable-follow-links=1
+ enable-index-owner=0
+
+ enable-http-clone=1
+
+ snapshots=tar.gz zip
+
+ ${extraConfig}
+ '';
+
+in {
+ root = "${pkgs.cgit}/cgit/";
+ extraConfig = ''
+ try_files $uri @cgit;
+
+ location @cgit {
+ include ${pkgs.nginx}/conf/fastcgi_params;
+ fastcgi_param CGIT_CONFIG ${cgitConfig};
+ fastcgi_param HTTP_HOST $server_name;
+ fastcgi_param PATH_INFO $uri;
+ fastcgi_param QUERY_STRING $args;
+ fastcgi_param SCRIPT_FILENAME ${pkgs.cgit}/cgit/cgit.cgi;
+
+ fastcgi_pass unix:${fcgiwrapSocket};
+ }
+ '';
+}