summaryrefslogtreecommitdiff
path: root/nixos/modules/sites/cgit.nix
diff options
context:
space:
mode:
authorEthel Morgan <eth@ethulhu.co.uk>2020-07-11 14:11:14 +0100
committerEthel Morgan <eth@ethulhu.co.uk>2020-07-11 14:11:14 +0100
commit6f589e2bb5ccd25e186317f9f777a74b7fdd6821 (patch)
tree70137a6b6a182ccb31a609ed8294c761741a74b0 /nixos/modules/sites/cgit.nix
parenta280569c89bef9d67e20db601a0a26cc3b0fe302 (diff)
remove eth.sites.* nixos config modules
Diffstat (limited to 'nixos/modules/sites/cgit.nix')
-rw-r--r--nixos/modules/sites/cgit.nix102
1 files changed, 0 insertions, 102 deletions
diff --git a/nixos/modules/sites/cgit.nix b/nixos/modules/sites/cgit.nix
deleted file mode 100644
index b43faa4..0000000
--- a/nixos/modules/sites/cgit.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ config, lib, pkgs, ... }:
-with lib;
-
-let
- cfg = config.eth.sites.cgit;
- fcgi = config.services.fcgiwrap;
-
- cgitConfig = pkgs.writeText "cgitrc" ''
- cache-size=1000
- virtual-root=/
-
- about-filter=${cfg.aboutFilter}
- source-filter=${cfg.sourceFilter}
-
- remove-suffix=1
-
- enable-git-config=1
- #enable-gitweb-owner=1
- project-list=${cfg.projectList}
- scan-path=${cfg.scanPath}
-
- enable-blame=1
- enable-follow-links=1
- enable-index-owner=0
-
- enable-http-clone=1
-
- snapshots=tar.gz zip
-
- ${cfg.extraConfig}
- '';
-
-in {
- options.eth.sites.cgit = {
- enable = mkEnableOption "Whether to enable cgit.";
-
- https = mkOption {
- type = types.bool;
- default = true;
- description = "Whether to enable HTTPS.";
- };
-
- virtualHost = mkOption {
- type = types.str;
- default = "_";
- description = "Virtual Host to install the site under in Nginx.";
- example = "git.eth.moe";
- };
-
- aboutFilter = mkOption {
- type = types.path;
- default = "${pkgs.cgit}/lib/cgit/filters/about-formatting.sh";
- };
- sourceFilter = mkOption {
- type = types.path;
- default = "${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py";
- };
-
- scanPath = mkOption {
- type = types.path;
- description = "Path to search for Git repositories under.";
- example = "${config.services.gitolite.dataDir}/repositories/";
- };
- projectList = mkOption {
- type = types.path;
- description = "Path to a list of Git repositories to search for.";
- example = "${config.services.gitolite.dataDir}/projects.list";
- };
-
- extraConfig = mkOption {
- type = types.str;
- default = "";
- };
- };
-
- config = mkIf cfg.enable {
- services.nginx.virtualHosts.${cfg.virtualHost} = {
- forceSSL = cfg.https;
- enableACME = cfg.https;
-
- 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:${fcgi.socketAddress};
- }
- '';
- };
-
- services.fcgiwrap = {
- enable = true;
- };
- };
-}