From 5a109320cc0cf0c7116efacae5aba11d659857ed Mon Sep 17 00:00:00 2001 From: leiserfg Date: Tue, 7 Oct 2025 11:13:54 +0200 Subject: [PATCH 1/2] Make it posible to override pre-commit binary --- src/modules/integrations/git-hooks.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/integrations/git-hooks.nix b/src/modules/integrations/git-hooks.nix index 755a7e92da..f3b235bddb 100644 --- a/src/modules/integrations/git-hooks.nix +++ b/src/modules/integrations/git-hooks.nix @@ -15,7 +15,7 @@ let # Tracking: https://github.com/NixOS/nixpkgs/issues/302376 packageBin = pkgs.runCommandLocal "pre-commit-bin" { } '' mkdir -p $out/bin - ln -s ${cfg.package}/bin/pre-commit $out/bin/pre-commit + ln -s ${lib.getExe cfg.package} $out/bin/pre-commit-bin ''; anyEnabled = builtins.any (hook: hook.enable) (lib.attrValues cfg.hooks); @@ -35,7 +35,7 @@ in (git-hooks-module + "/modules/all-modules.nix") { rootSrc = self; - package = pkgs.pre-commit; + package = lib.mkDefault pkgs.pre-commit; tools = import (git-hooks-module + "/nix/call-tools.nix") pkgs; } ]; @@ -94,7 +94,7 @@ in before = [ "devenv:enterShell" ]; }; "devenv:git-hooks:run" = { - exec = "pre-commit run -a"; + exec = "pre-commit-bin run -a"; before = [ "devenv:enterTest" ]; }; }; From 45e0bbb58bd7e52a5433979d6fa6a0762bc46843 Mon Sep 17 00:00:00 2001 From: leiserfg Date: Tue, 7 Oct 2025 20:48:10 +0200 Subject: [PATCH 2/2] Use the original binary name --- src/modules/integrations/git-hooks.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/integrations/git-hooks.nix b/src/modules/integrations/git-hooks.nix index f3b235bddb..b914b122d4 100644 --- a/src/modules/integrations/git-hooks.nix +++ b/src/modules/integrations/git-hooks.nix @@ -13,9 +13,9 @@ let # This affects all packages built with `buildPythonApplication` or `toPythonApplication`. # pre-commit is particularly annoying as it is difficult for end-users to track down. # Tracking: https://github.com/NixOS/nixpkgs/issues/302376 - packageBin = pkgs.runCommandLocal "pre-commit-bin" { } '' + packageBin = pkgs.runCommandLocal "pre-commit-bin" { meta.mainProgram = cfg.package.meta.mainProgram; } '' mkdir -p $out/bin - ln -s ${lib.getExe cfg.package} $out/bin/pre-commit-bin + ln -s ${lib.getExe cfg.package} $out/bin/${cfg.package.meta.mainProgram} ''; anyEnabled = builtins.any (hook: hook.enable) (lib.attrValues cfg.hooks); @@ -94,7 +94,7 @@ in before = [ "devenv:enterShell" ]; }; "devenv:git-hooks:run" = { - exec = "pre-commit-bin run -a"; + exec = "${packageBin.meta.mainProgram} run -a"; before = [ "devenv:enterTest" ]; }; };