{ pkgs, config, ... }: { programs = { diff-so-fancy = { enable = true; enableGitIntegration = true; }; git = { enable = true; settings = { gpg = { format = "ssh"; }; user = { name = "Michael Thomson"; email = "me@michaelthomson.dev"; signingkey = "~/.ssh/id_rsa.pub"; }; column = { ui = "auto"; }; branch = { sort = "-committerdate"; }; tag = { sort = "version:refname"; }; diff = { algorithm = "histogram"; colorMoved = "plain"; mnemonicPrefix = "true"; renames = "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 = { autoSquash = "true"; autoStash = "true"; autoRefs = "true"; }; merge = { conflictstyle = "zdiff3"; }; pull = { rebase = "true"; }; }; includes = [ { condition = "gitdir:~/dev/work/konrad/"; contents = { user = { email = "mthomson@konradgroup.com"; name = "Michael Thomson"; }; }; } { condition = "gitdir:~/dev/work/symcor/"; contents = { user = { email = "mthomson@symcor.com"; name = "Michael Thomson"; }; http = { sslVerify = false; }; }; } ]; }; }; }