{ imports = [ ./ignores.nix ]; programs = { git = { enable = true; lfs.enable = true; settings = { user = { name = "Jan Kremer"; email = "mail@jankremer.eu"; }; alias = { s = "status --short"; l = "log --all --oneline --graph"; }; init.defaultBranch = "main"; gpg.format = "ssh"; user.signingkey = "~/.ssh/id_ed25519.pub"; credential.helper = "osxkeychain"; column.ui = "auto"; help.autocorrect = "prompt"; log.date = "iso"; branch.sort = "-committerdate"; commit = { verbose = true; gpgsign = true; }; tag.sort = "version:refname"; diff = { algorithm = "histogram"; colorMoved = "default"; mnemonicPrefix = true; renames = true; }; push = { autoSetupRemote = true; followTags = true; }; pull.rebase = true; fetch = { all = true; prune = true; pruneTags = true; }; merge.conflictstyle = "zdiff3"; rebase = { autoSquash = true; autoStash = true; updateRefs = true; }; rerere = { enabled = true; autoupdate = true; }; }; }; }; }