nixpkgs/home/programs/git.nix

143 lines
2.6 KiB
Nix

{ pkgs }:
{
enable = true;
userName = "Daniel Siepmann";
userEmail = "coding@daniel-siepmann.de";
signing = {
key = "15560EF4";
signByDefault = true;
};
aliases = {
c = "checkout";
ss = "show -s";
s = "status -s";
dc = "diff --cached";
sc = "switch -c";
st = "switch -t";
com = "commit";
ri = "rebase -i";
rc = "rebase --continue";
fap = "fetch --all --prune";
rh = "reset --hard";
cp = "cherry-pick";
lg = "log --graph --pretty=format:'%Cred%h%Creset %an: %s - %Creset %C(yellow)%d%Creset %Cgreen(%cr)%Creset' --abbrev-commit --date=relative";
};
ignores = [
# Some files which might be generated by system or tools
"*~"
"*.swp"
"*.swn"
"*.swo"
"*.orig"
"*.rej"
"*.pyc"
"*.bak"
"*/tags"
"/tags"
"*.~lock.*#"
# As I'm using Makefiles in many projects for my own confidence
"Makefile"
# As I'm using nix-shell in many projects for my own confidence
"shell.nix"
# Some generics which occur in some projects
"build/"
"logs/"
# PHP Specific
".phpunit.result.cache"
".phpunit.cache"
".php-cs-fixer.cache"
"phpcs.xml"
# TYPO3 documentation specific
"Documentation-GENERATED-temp*/"
# Customer specific
"config/env/development-dsiepmann/"
];
diff-so-fancy = {
enable = true;
markEmptyLines = false;
stripLeadingSymbols = false;
useUnicodeRuler = false;
};
extraConfig = {
advice = {
detachedHead = false;
};
branch = {
autosetuprebase = "always";
};
color = {
diff = "auto";
status = "auto";
branch = "auto";
interactive = "auto";
ui = "auto";
};
core = {
whitespace = "-blank-at-eol,-space-before-tab,-indent-with-non-tab,-tab-in-indent,-blank-at-eof,-trailing-space-,cr-at-eol";
};
# Not possible right now, due to: https://github.com/gitonomy/gitlib/issues/114 for onw customer project
# diff = {
# noprefix = true;
# };
pager = {
branch = false;
show = false;
};
grep = {
lineNumber = true;
};
help = {
autocorrect = 1;
};
init = {
defaultBranch = "main";
};
push = {
default = "current";
gpgSign = "if-asked";
};
pull = {
rebase = true;
};
rebase = {
autoStash = true;
};
merge = {
ff = true;
tool = "nvimdiff4";
};
"mergetool \"nvimdiff4\"" = {
cmd = "nvim -d $LOCAL $BASE $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J' -c 'diffoff'";
};
};
}