Files
nix-wsl/hm_programs/git.nix
2026-02-15 22:26:47 +00:00

66 lines
1.5 KiB
Nix

{ ... }:
{
programs.git = {
enable = true;
ignores = [ ".tmp" "tmp" ".envrc" ];
settings = {
user.name = "alfonzso";
user.email = "alfonzso@gmail.com";
core = {
editor = "nvim";
whitespace = "trailing-space,space-before-tab";
quotepath = "off";
};
# pull.rebase = "true";
stash = { showPatch = "1"; };
color = {
pager = "true";
diff = "true";
grep = "true";
interactive = "true";
status = "always";
ui = "true";
};
"merge \"po\"" = {
name = "Gettext merge driver";
driver = "git-merge-po.sh %O %A %B";
};
apply = { whitespace = "fix"; };
diff = {
tool = "nvim -d";
colorMoved = "default";
};
"color \"diff-highlight\"" = {
oldNormal = "red bold";
oldHighlight = "red bold 52";
newNormal = "green bold";
newHighlight = "green bold 22";
};
"color \"diff\"" = {
meta = "yellow";
frag = "magenta bold";
commit = "yellow bold";
old = "red bold";
new = "green bold";
whitespace = "red reverse";
};
merge = { tool = "nvim"; };
"mergetool \"meld\"" = {
cmd = ''meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"'';
};
"mergetool \"nvim\"" = {
cmd =
"nvim -d \"$LOCAL\" \"$REMOTE\" \"$MERGED\" -c '$wincmd w' -c 'wincmd J'";
};
"mergetool \"vscode\"" = { cmd = ''code --wait "$MERGED"''; };
};
};
}