summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--krebs/3modules/git.nix16
m---------submodules/krops0
-rw-r--r--tv/2configs/gitrepos.nix24
-rw-r--r--tv/2configs/hw/x220.nix9
4 files changed, 49 insertions, 0 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/submodules/krops b/submodules/krops
-Subproject 3e731035ed44659624e6d00bbb35570f2b8811f
+Subproject 5ea125514e48c630120fbb6a44e9ae0c7932a12
diff --git a/tv/2configs/gitrepos.nix b/tv/2configs/gitrepos.nix
index 95ab75b3d..59090c8e3 100644
--- a/tv/2configs/gitrepos.nix
+++ b/tv/2configs/gitrepos.nix
@@ -5,6 +5,29 @@ with import <stockholm/lib>;
let {
body = {
+
+ nixpkgs.config.packageOverrides = super: {
+ cgit = pkgs.symlinkJoin {
+ name = "${super.cgit.name}-tv";
+ paths = [
+ (pkgs.runCommand "${super.cgit.name}-tv-overrides" {
+ } /* sh */ ''
+ mkdir -p $out/lib/cgit/filters
+ cd $out/lib/cgit/filters
+ cp \
+ ${super.cgit}/lib/cgit/filters/syntax-highlighting.py \
+ ${super.cgit}/lib/cgit/filters/.syntax-highlighting.py-wrapped \
+ .
+ sed -i "s:${super.cgit}:$out:" syntax-highlighting.py
+ sed -i '
+ s:^\(formatter =\).*:\1 HtmlFormatter(style="algol_nu"):
+ ' .syntax-highlighting.py-wrapped
+ '')
+ super.cgit
+ ];
+ };
+ };
+
krebs.git = {
enable = true;
cgit = {
@@ -22,6 +45,7 @@ let {
];
root-desc = "mostly krebs";
root-title = "repositories at ${config.krebs.build.host.name}";
+ source-filter = "${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py";
};
};
repos = repos;
diff --git a/tv/2configs/hw/x220.nix b/tv/2configs/hw/x220.nix
index 699b4a87e..61b475537 100644
--- a/tv/2configs/hw/x220.nix
+++ b/tv/2configs/hw/x220.nix
@@ -15,6 +15,15 @@
pkgs.tpacpi-bat
];
}
+
+ # fix jumpy touchpad
+ # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X220#X220_Touchpad_cursor_jump/imprecise
+ {
+ services.udev.extraHwdb = /* sh */ ''
+ touchpad:i8042:*
+ LIBINPUT_MODEL_LENOVO_X220_TOUCHPAD_FW81=1
+ '';
+ }
];
boot.extraModulePackages = [