{ 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; }; push = { default = "current"; gpgSign = "if-asked"; }; init = { defaultBranch = "main"; }; merge = { ff = true; tool = "nvimdiff4"; }; "mergetool \"nvimdiff4\"" = { cmd = "nvim -d $LOCAL $BASE $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J' -c 'diffoff'"; }; }; }