summaryrefslogtreecommitdiff
path: root/dot_config/git/config
blob: 28e9188dafe83a2c474a5e23ad86de91964b6a7f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
[alias]
	aa = add -A
	bd = branch -D
	ci = commit
	co = checkout
	df = difftool
	st = status
	root = rev-parse --show-toplevel
[branch]
	sort = -committerdate
[columns]
	ui = auto
[commit]
	verbose = true
[core]
	# excludesFile: reminder that it defaults to ~/.config/git/ignore
	fsmonitor = true
	untrackedcache = true
[diff]
	algorithm = histogram
	external = difft
	tool = difftastic
[difftool]
	prompt = false
[difftool "difftastic"]
	cmd = difft "$LOCAL" "$REMOTE"
[fetch]
	prune = true
	pruneTags = true
[gpg]
	format = ssh
[gpg "ssh"]
	allowedSignersFile = "~/.config/git/signers.ssh"
	defaultKeyCommand = "ssh-add -L" # default: first key in agent
[init]
	defaultBranch = main
[log]
	# WHATWG Dates and Times Microsyntax
	# I legitimately like this one ever since I implemented janet-date.
	# It's the one that makes the most sense, at least to me.
	date = "format:%F %T%z"
[merge]
	conflictstyle = zdiff3
[pager]
	difftool = true
[pull]
	rebase = true
[push]
	autoSetupRemote = true
	default = simple
[rebase]
	autoSquash = true
	autoStash  = true
	updateRefs = true
[rerere]
	enabled = true
[sendemail]
	from = code@toast.bunkerlabs.net
	smtpencryption = tls
	smtpserver = smtp.migadu.com
	smtpserverport = 465
	smtpuser = toast@bunkerlabs.net
[status]
	branch = true
	short = true
[user]
	email = code@toast.bunkerlabs.net
	name = Chloé Vulquin

# platform includes
[includeIf "gitdir:/home/"]
	path = "~/.config/git/linux.config"

[includeIf "gitdir:/Users/"]
	path = "~/.config/git/macos.config"

# intended workflow:
# own projects: clone with me:
# github projects: clone with gh:
# potential TODO: clone gh: but push to st: fork ? may not be possible
# it would be possible if you could have something like:
# [remote "me"]
# 	url = st:*
# and the * was somehow implied to be $(basename $origin)
[url "git@github.com:CosmicToast/"]
	insteadOf = "me:"

[url "https://github.com/"]
	insteadOf = "gh:"

[url "git@github.com:"]
	pushInsteadOf = "https://github.com"
	pushInsteadOf = "gh:"

[filter "lfs"]
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
	clean = git-lfs clean -- %f