From 03ae8d3b0aeef6811bdd6643fb80694973e5812b Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Tue, 15 Jul 2025 23:55:37 -0400 Subject: [PATCH] Change how we bundle meld into git. --- nix/configuration/roles/git/default.nix | 48 +++++++++++++++++-------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/nix/configuration/roles/git/default.nix b/nix/configuration/roles/git/default.nix index b8cbc00..5f0e57d 100644 --- a/nix/configuration/roles/git/default.nix +++ b/nix/configuration/roles/git/default.nix @@ -5,6 +5,18 @@ ... }: +let + git_wrapped = + package: prog: + pkgs.writeShellScriptBin "${prog}" '' + export PATH="${ + lib.makeBinPath [ + pkgs.meld + ] + }:$PATH" + exec ${package}/bin/${prog} "''${@}" + ''; +in { imports = [ ]; @@ -35,27 +47,33 @@ (lib.mkIf (config.me.graphical) { nixpkgs.overlays = [ (final: prev: { - my_git = pkgs.symlinkJoin { - name = final.git.name; - paths = [ - final.git - ]; - nativeBuildInputs = [ final.makeWrapper ]; - postBuild = '' - wrapProgram $out/bin/git --prefix PATH : ${ - lib.makeBinPath [ - final.meld - ] - } - ''; - }; + my_git = ( + pkgs.buildEnv { + name = prev.git.name; + version = prev.git.version; + paths = + (builtins.map (git_wrapped prev.git) [ + "git" + ]) + ++ [ + prev.git + ]; + extraOutputsToInstall = [ + "man" + "doc" + "info" + ]; + nativeBuildInputs = [ final.makeWrapper ]; + ignoreCollisions = true; + } + ); }) ]; }) (lib.mkIf (!config.me.graphical) { nixpkgs.overlays = [ (final: prev: { - my_git = final.git; + my_git = prev.git; }) ]; })