# vim: ft=gitconfig [user] name = Danielle McLean email = dani@00dani.me signingkey = 83F3DCEC98D522B6A38AF5D927D076D2ACA7BABE [commit] gpgsign = true [alias] co = checkout d = diff l = log --graph --pretty=graph --date=relative up = pull --prune --rebase=merges --autostash patch = !git --no-pager diff --no-color st = status --short shove = "!f() { git push ${1:-origin} :; }; f" [color "diff"] meta = yellow frag = magenta bold commit = yellow bold old = red bold new = green bold whitespace = red reverse [color "diff-highlight"] oldNormal = red bold oldHighlight = red bold 52 newNormal = green bold newHighlight = green bold 22 [column] ui = auto [core] pager = delta [interactive] diffFilter = delta --color-only [delta] line-numbers = true tabs = 2 syntax-theme = Monokai Extended [diff] colorMoved = true [diff "dyff"] command = "dyff_between() { dyff --color on between --omit-header \"$2\" \"$5\"; }; dyff_between" [diff "gpg"] binary = true textconv = "gpg -qd --no-tty" [diff "lockb"] binary = true textconv = "bun" [diff "sops"] textconv = "sops -d" [dude] icon = ~/.config/git-dude/icon.png [filter "lfs"] clean = git-lfs clean -- %f smudge = git-lfs smudge -- %f process = git-lfs filter-process required = true [help] autocorrect = 20 [init] defaultBranch = main [log] decorate = true [merge] conflictStyle = diff3 [pretty] graph = tformat:%C(auto)%h %G? %s% gD% D [pull] rebase = false [push] default = simple gpgSign = if-asked [rerere] enabled = true [status] branch = true [submodule] recurse = true [url "git@github.com:"] pushInsteadOf = https://github.com/ [url "git@git.00dani.me:"] pushInsteadOf = https://git.00dani.me/ # This is a frankly ridiculous hack. Tower (https://www.git-tower.com) supports # signing and verifying with GPG, but it requires you to select a GPG binary in # its settings, and it overwrites the value of gpg.program in your Git config # to be an absolute path when you do this. This is a problem if you reuse your # Git config across platforms where GPG might be in different places, which I # do. In my opinion it's a bug in how Tower works, but I've tried contacting # support about it and they won't change it. So hacks it is. [gpg] program = /usr/local/bin/gpg # The workaround is to specify the absolute GPG path that Tower wants first # (above). Tower will see this setting and its GPG functionality will work # properly. Then, the gpg.program setting I actually want is stored in an # include file, and that include file is loaded conditionally using includeIf. # Tower doesn't seem to understand this, but Git does. The condition I've used # is always true, so Git itself always loads this file and my gpg.program # setting is overridden with the correct one. [includeIf "onbranch:**"] path = tools/gpg-for-git-signing [include] path = tools/kdiff3 path = tools/kitty-diff path = config.os path = config.local