82 lines
1.8 KiB
Nix
82 lines
1.8 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
programs.git = {
|
|
enable = true;
|
|
settings = {
|
|
alias = {
|
|
st = "status";
|
|
ci = "commit";
|
|
co = "checkout";
|
|
br = "branch";
|
|
pl = "pull";
|
|
ps = "push";
|
|
sw = "switch";
|
|
mno =" merge --no-ff";
|
|
lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit";
|
|
cleanup = "!git fetch --prune && git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -D";
|
|
};
|
|
|
|
column.ui = "auto";
|
|
branch.sort = "-committerdate";
|
|
tag.sort = "version:refname";
|
|
diff = {
|
|
algorithm = "histogram";
|
|
colorMoved = "plain";
|
|
mnemonicPrefix = "true";
|
|
renames = "true";
|
|
};
|
|
pull.rebase = "true";
|
|
push = {
|
|
default = "simple";
|
|
autoSetupRemote = "true";
|
|
followTags = "true";
|
|
};
|
|
fetch = {
|
|
prune = "true";
|
|
pruneTags = "true";
|
|
all = "true";
|
|
};
|
|
help.autocorrect = "prompt";
|
|
commit.verbose = "true";
|
|
rerere = {
|
|
enabled = "true";
|
|
autoupdate = "true";
|
|
};
|
|
rebase = {
|
|
autoSquas = "true";
|
|
autoStash = "true";
|
|
updateRefs = "true";
|
|
};
|
|
merge.conflictstyle = "zdiff3";
|
|
core.editor = "nvim";
|
|
init.defaultBranch = "main";
|
|
};
|
|
|
|
ignores = [
|
|
".direnv/"
|
|
".envrc"
|
|
];
|
|
};
|
|
|
|
programs.difftastic = {
|
|
enable = true;
|
|
git.enable = true;
|
|
};
|
|
|
|
programs.lazygit = {
|
|
enable = true;
|
|
settings = {
|
|
theme.lightTheme = "true";
|
|
git = {
|
|
log = {
|
|
format = "%C(yellow)%h%Creset %C(bold blue)<%an>%Creset %s %Cgreen(%cr)%Creset";
|
|
graph = "true";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.jujutsu.enable = true;
|
|
}
|