{ theme, ... }: { programs.git = { enable = true; lfs.enable = true; signing.format = "openpgp"; ignores = [ "*.swp" "*.swo" "*~" ".DS_Store" "Thumbs.db" ".env" ".env.local" ".env.*.local" ".vscode/" ".idea/" ".claude/" "CLAUDE.md" "node_modules/" "__pycache__/" "*.pyc" "venv/" ".venv/" "build/" "dist/" "out/" "target/" "result" "result-*" ".direnv/" ]; settings = { user = { name = "Harivansh Rathi"; email = "rathiharivansh@gmail.com"; }; advice.detachedHead = false; core = { pager = "diff-so-fancy | less --tabs=4 -RFX"; editor = "nvim"; }; interactive.diffFilter = "diff-so-fancy --patch"; color = { ui = true; "diff-highlight" = { oldNormal = "red bold"; oldHighlight = "red bold 52"; newNormal = "green bold"; newHighlight = "green bold 22"; }; diff = { meta = 11; frag = "magenta bold"; func = "146 bold"; commit = "yellow bold"; old = "red bold"; new = "green bold"; whitespace = "red reverse"; }; }; delta = { "syntax-theme" = theme.deltaTheme theme.defaultMode; "hunk-header-style" = "omit"; "minus-style" = ''syntax "#3c1f1e"''; "minus-emph-style" = ''syntax "#72261d"''; "plus-style" = ''syntax "#1d2c1d"''; "plus-emph-style" = ''syntax "#2b4a2b"''; }; push.autoSetupRemote = true; "diff-so-fancy" = { markEmptyLines = true; stripLeadingSymbols = true; useUnicodeRuler = true; }; }; }; }