Change how we bundle meld into git.

This commit is contained in:
Tom Alexander 2025-07-15 23:55:37 -04:00
parent 03f0721e1f
commit 03ae8d3b0a
No known key found for this signature in database
GPG Key ID: D3A179C9A53C0EDE

View File

@ -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 = [ ]; imports = [ ];
@ -35,27 +47,33 @@
(lib.mkIf (config.me.graphical) { (lib.mkIf (config.me.graphical) {
nixpkgs.overlays = [ nixpkgs.overlays = [
(final: prev: { (final: prev: {
my_git = pkgs.symlinkJoin { my_git = (
name = final.git.name; pkgs.buildEnv {
paths = [ name = prev.git.name;
final.git version = prev.git.version;
paths =
(builtins.map (git_wrapped prev.git) [
"git"
])
++ [
prev.git
];
extraOutputsToInstall = [
"man"
"doc"
"info"
]; ];
nativeBuildInputs = [ final.makeWrapper ]; nativeBuildInputs = [ final.makeWrapper ];
postBuild = '' ignoreCollisions = true;
wrapProgram $out/bin/git --prefix PATH : ${
lib.makeBinPath [
final.meld
]
} }
''; );
};
}) })
]; ];
}) })
(lib.mkIf (!config.me.graphical) { (lib.mkIf (!config.me.graphical) {
nixpkgs.overlays = [ nixpkgs.overlays = [
(final: prev: { (final: prev: {
my_git = final.git; my_git = prev.git;
}) })
]; ];
}) })