[user]
	name = Jim Myhrberg
	email = contact@jimeh.me
	signingkey = contact@jimeh.me
[commit]
	gpgsign = true
[tag]
	gpgsign = true
[core]
	attributesfile = ~/.gitattributes
	excludesfile = ~/.gitignore
[color]
	status = auto
	branch = auto
	diff = auto
[apply]
	whitespace = nowarn
[push]
	default = simple
[pull]
	rebase = true
[rerere]
	enabled = true
[alias]
	a = add
	ai = add -i
	p = pull --rebase
	pu = push
	co = checkout
	cl = clone
	br = branch
	ci = commit
	st = status
	me = merge
	di = diff
	re = remote
	reb = rebase
	res = reset
	sub = submodule
	unstage = reset HEAD --
	last = log -1 HEAD
	lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset %Cgreen%GS%Creset' --abbrev-commit --
	pgp = config commit.gpgsign
	pgp-on = config commit.gpgsign true
	pgp-off = config commit.gpgsign false
	tree = log --all --graph --decorate --oneline --simplify-by-decoration
[difftool "Kaleidoscope"]
	cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[difftool]
	prompt = false
[diff]
	tool = Kaleidoscope
[diff "sopsdiffer"]
	textconv = sops -d
[credential]
	helper = osxkeychain
[filter "media"]
	required = true
	clean = git media clean %f
	smudge = git media smudge %f
[filter "hawser"]
	clean = git hawser clean %f
	smudge = git hawser smudge %f
	required = true
[filter "lfs"]
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
	required = true
	process = git-lfs filter-process
[include]
	path = ~/.gitconfig_private
[init]
	defaultBranch = main
[gitlab]
	user = jimeh
[credential "https://github.com"]
	# helper = !~/.dotfiles/bin/gh-git-credential-helper
	helper = !cd ~/ && op plugin run -- gh auth git-credential
[credential "https://gist.github.com"]
	# helper = !~/.dotfiles/bin/gh-git-credential-helper
	helper = !cd ~/ && op plugin run -- gh auth git-credential
[merge "mergiraf"]
	name = mergiraf
	driver = mergiraf merge --git %O %A %B -s %S -x %X -y %Y -p %P -l %L
[mergetool "Kaleidoscope"]
	cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
	trustExitCode = true
[gitbutler]
	aiModelProvider = anthropic
	aiAnthropicKeyOption = butlerAPI
	signCommits = true
	aiOpenAIKeyOption = butlerAPI
