diff options
Diffstat (limited to 'krebs/3modules')
-rw-r--r-- | krebs/3modules/git.nix | 16 | ||||
-rw-r--r-- | krebs/3modules/rtorrent.nix | 13 |
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} - ''; }; }; }; |