nix-managed-macbook/programs/git.nix
2024-10-22 18:53:09 +05:30

71 lines
1.6 KiB
Nix

{ config, pkgs, ... }:
{
programs.gitui.enable = true;
programs.git = {
enable = true;
userName = "Abhinav Sarkar";
userEmail = "abhinav@abhinavsarkar.net";
aliases = {
a = "add";
d = "diff";
c = "commit";
p = "push";
s = "status";
ui = "!gitui";
ap = "add -p";
ca = "commit --amend --no-edit";
cm = "commit -m";
pf = "push --force-with-lease";
lg = "log --graph --abbrev-commit --decorate --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'";
uc = "reset --soft HEAD~1";
};
delta = {
enable = true;
options = {
features = "decorations";
navigate = true;
line-numbers = true;
syntax-theme = "Dracula";
side-by-side = true;
decorations = {
commit-decoration-style = "blue ol";
commit-style = "raw";
file-style = "omit";
hunk-header-decoration-style = "blue box";
hunk-header-file-style = "red";
hunk-header-line-number-style = "#067a00";
hunk-header-style = "file line-number syntax";
};
interactive = {
keep-plus-minus-markers = false;
};
};
};
extraConfig = {
init.defaultBranch = "main";
pull = {
ff = "only";
rebase = true;
};
rebase.autoStash = true;
core = {
editor = "micro";
};
merge.conflictstyle = "diff3";
};
ignores = [
"*.swp"
"*~"
"#*"
".DS_Store"
".direnv/"
".vscode/"
];
};
}