summaryrefslogtreecommitdiffstats
path: root/krebs/3modules
diff options
context:
space:
mode:
Diffstat (limited to 'krebs/3modules')
-rw-r--r--krebs/3modules/git.nix16
-rw-r--r--krebs/3modules/rtorrent.nix13
2 files changed, 22 insertions, 7 deletions
diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix
index 895d9b3b6..4eb881341 100644
--- a/krebs/3modules/git.nix
+++ b/krebs/3modules/git.nix
@@ -186,6 +186,12 @@ let
type = types.nullOr types.str;
default = null;
};
+ source-filter = mkOption {
+ type = types.nullOr types.absolute-pathname;
+ default = null;
+ example = literalExample
+ "\${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py";
+ };
virtual-root = mkOption {
type = types.nullOr types.absolute-pathname;
default = "/";
@@ -452,6 +458,16 @@ let
fastcgi_param HTTP_HOST $server_name;
fastcgi_pass unix:${config.services.fcgiwrap.socketAddress};
'';
+ # Smart HTTP transport. Regex based on.
+ # https://github.com/git/git/blob/v2.27.0/http-backend.c#L708-L721
+ locations."~ \"^/[0-9A-Za-z._-]+/(HEAD|info/refs|objects/info/(alternates|http-alternates|packs)|[0-9a-f]{2}/([0-9a-f]{38}|[0-9a-f]{62})|pack/pack-([0-9a-f]{40}|[0-9a-f]{64})\\.(pack|idx)|git-upload-pack|git-receive-pack)$\"".extraConfig = ''
+ include ${pkgs.nginx}/conf/fastcgi_params;
+ fastcgi_param GIT_HTTP_EXPORT_ALL "";
+ fastcgi_param GIT_PROJECT_ROOT ${cfg.dataDir};
+ fastcgi_param PATH_INFO $fastcgi_script_name;
+ fastcgi_param SCRIPT_FILENAME ${pkgs.git}/bin/git-http-backend;
+ fastcgi_pass unix:${config.services.fcgiwrap.socketAddress};
+ '';
locations."/static/".extraConfig = ''
root ${pkgs.cgit}/cgit;
rewrite ^/static(/.*)$ $1 break;
diff --git a/krebs/3modules/rtorrent.nix b/krebs/3modules/rtorrent.nix
index eb27aa34d..e5566f329 100644
--- a/krebs/3modules/rtorrent.nix
+++ b/krebs/3modules/rtorrent.nix
@@ -328,6 +328,8 @@ let
pools.rutorrent = {
user = nginx-user;
group = nginx-group;
+ phpEnv.PATH = makeBinPath rutorrent-deps;
+
settings = {
"listen.owner" = nginx-user;
"pm" = "dynamic";
@@ -335,14 +337,11 @@ let
"pm.start_servers" = 2;
"pm.min_spare_servers" = 1;
"pm.max_spare_servers" = 3;
+ "chdir" = "/";
+ "php_admin_value[error_log]" = "stderr";
+ "php_admin_flag[log_errors]" = "on";
+ "catch_workers_output" = "yes";
};
- extraConfig = ''
- chdir = /
- php_admin_value[error_log] = 'stderr'
- php_admin_flag[log_errors] = on
- catch_workers_output = yes
- env[PATH] = ${makeBinPath rutorrent-deps}
- '';
};
};
};