feat(git): Templatize git config for per-host/user identity override
Convert private_dot_config/git/config to config.tmpl so that the [user] name/email can be overridden per host/user via the existing `configs` key in .chezmoidata/hosts*.yaml, falling back to the default identity (Xavier Logerais / xavier@logerais.com) when no override is defined. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
co-authored by
Copilot
parent
db34347d55
commit
e17a18d7c5
@@ -1,47 +0,0 @@
|
||||
[core]
|
||||
excludesfile = ~/.config/git/ignore
|
||||
attributesfile = ~/.config/git/attributes
|
||||
pager = delta
|
||||
|
||||
[user]
|
||||
name = Xavier Logerais
|
||||
email = xavier@logerais.com
|
||||
|
||||
[credential]
|
||||
helper = cache
|
||||
|
||||
[credential "https://gitea.logerais.com"]
|
||||
helper = cache
|
||||
helper = !tea login helper
|
||||
|
||||
[credential "https://gitea.cloud.logerais.com"]
|
||||
helper = cache
|
||||
helper = !tea login helper
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[rerere]
|
||||
enabled = 1
|
||||
|
||||
[merge]
|
||||
conflictstyle = diff3
|
||||
|
||||
[page]
|
||||
diff = delta
|
||||
show = delta
|
||||
log = delta
|
||||
blame = delta
|
||||
reflog = delta
|
||||
|
||||
[delta]
|
||||
navigate = true
|
||||
side-by-side = true
|
||||
dark = true
|
||||
syntax-theme = Coldark-Dark
|
||||
|
||||
[interactive]
|
||||
diffFilter = delta --color-only
|
||||
|
||||
[alias]
|
||||
tree = !git ls-files | tree --fromfile -C
|
||||
@@ -0,0 +1,64 @@
|
||||
{{- $hostname := output "hostname" | trim -}}
|
||||
{{- $username := .chezmoi.username -}}
|
||||
{{- $currentHost := index .hosts $hostname -}}
|
||||
{{- $currentUser := "" -}}
|
||||
{{- if $currentHost -}}
|
||||
{{- if hasKey $currentHost.users $username -}}
|
||||
{{- $currentUser = index $currentHost.users $username -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- $gitConfig := dict -}}
|
||||
{{- if and $currentUser (hasKey $currentUser "configs") -}}
|
||||
{{- if hasKey $currentUser.configs "git" -}}
|
||||
{{- $gitConfig = $currentUser.configs.git -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- $gitName := $gitConfig.name | default "Xavier Logerais" -}}
|
||||
{{- $gitEmail := $gitConfig.email | default "xavier@logerais.com" -}}
|
||||
[core]
|
||||
excludesfile = ~/.config/git/ignore
|
||||
attributesfile = ~/.config/git/attributes
|
||||
pager = delta
|
||||
|
||||
[user]
|
||||
name = {{ $gitName }}
|
||||
email = {{ $gitEmail }}
|
||||
|
||||
[credential]
|
||||
helper = cache
|
||||
|
||||
[credential "https://gitea.logerais.com"]
|
||||
helper = cache
|
||||
helper = !tea login helper
|
||||
|
||||
[credential "https://gitea.cloud.logerais.com"]
|
||||
helper = cache
|
||||
helper = !tea login helper
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[rerere]
|
||||
enabled = 1
|
||||
|
||||
[merge]
|
||||
conflictstyle = diff3
|
||||
|
||||
[page]
|
||||
diff = delta
|
||||
show = delta
|
||||
log = delta
|
||||
blame = delta
|
||||
reflog = delta
|
||||
|
||||
[delta]
|
||||
navigate = true
|
||||
side-by-side = true
|
||||
dark = true
|
||||
syntax-theme = Coldark-Dark
|
||||
|
||||
[interactive]
|
||||
diffFilter = delta --color-only
|
||||
|
||||
[alias]
|
||||
tree = !git ls-files | tree --fromfile -C
|
||||
Reference in New Issue
Block a user