dotfiles/nixos/git/home.nix

37 lines
1.1 KiB
Nix

{ config, pkgs, inputs, ... }: {
programs.git = {
enable = true;
lfs.enable = true;
userName = "Cyryl Płotnicki";
userEmail = "cyplo@cyplo.dev";
delta = {
enable = true;
options = {
line-numbers = true;
syntax-theme = "Solarized (dark)";
};
};
extraConfig = {
colour.ui = true;
credential = { helper = "cache"; };
diff.algorithm = "histogram";
diff.renameLimit = 2048;
diff.renames = "copy";
help.autocorrect = 1;
init.defaultBranch = "main";
merge.renamelimit = 8192;
mergetool.keepBackup = false;
pull.ff = "only";
push.default = "simple";
};
aliases = {
tree =
"log --show-signature --color --decorate --date=short --all --graph -n 3";
newbranch =
"!git checkout master && git fetch -p && git reset --hard origin/master && git checkout -b $2";
head = "log HEAD -n1";
vacuum =
"!git fetch -p && git branch -vv | awk '/: gone]/{print $1}' | xargs -r git branch -D && git gc --aggressive --auto";
};
};
}