diff --git a/nix/configuration/roles/git/default.nix b/nix/configuration/roles/git/default.nix index 357748a..1af67a8 100644 --- a/nix/configuration/roles/git/default.nix +++ b/nix/configuration/roles/git/default.nix @@ -23,16 +23,63 @@ git ]; } - ( - lib.mkIf config.me.git.config != null { - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".gitconfig" = { - source = config.me.git.config; - }; + (lib.mkIf (config.me.git.config != null) { + home-manager.users.talexander = + { pkgs, ... }: + { + home.file.".gitconfig" = { + source = config.me.git.config; }; - } - ) + }; + }) + (lib.mkIf (config.me.graphical) { + nixpkgs.overlays = [ + (final: prev: { + git = pkgs.buildEnv { + name = prev.git.name; + paths = [ + prev.git + ]; + extraOutputsToInstall = [ + "man" + "doc" + "info" + ]; + buildInputs = [ final.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/git --prefix PATH : ${ + lib.makeBinPath [ + final.meld + ] + } + ''; + }; + }) + ]; + }) + (lib.mkIf (!config.me.graphical) { + nixpkgs.overlays = [ + (final: prev: { + git = pkgs.buildEnv { + name = prev.git.name; + paths = [ + prev.git + ]; + extraOutputsToInstall = [ + "man" + "doc" + "info" + ]; + buildInputs = [ final.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/git --prefix PATH : ${ + lib.makeBinPath [ + ] + } + ''; + }; + }) + ]; + }) ]; }