30 lines
1.1 KiB
Cheetah
30 lines
1.1 KiB
Cheetah
{{- if (eq .host.distro.family "linux") -}}
|
|
#!/usr/bin/env bash
|
|
|
|
{{ includeTemplate "universal/profile" }}
|
|
{{ includeTemplate "universal/logg" }}
|
|
|
|
{{ $gitHooks := (output "find" (joinPath .chezmoi.homeDir ".local" "src" "shared-common" "common" ".config" "husky") "-mindepth" "1" "-maxdepth" "1" "-type" "f") -}}
|
|
{{- range $gitHook := splitList "\n" $gitHooks -}}
|
|
{{- if ne $gitHook "" -}}
|
|
# {{ $gitHook }} hash: {{ include $gitHook | sha256sum }}
|
|
{{- end -}}
|
|
{{- end }}
|
|
|
|
### Ensure git hooks directory exists
|
|
logg info 'Ensuring git hooks directory exists'
|
|
mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/git/template/hooks"
|
|
|
|
### Ensure git hooks are executable
|
|
logg info 'Ensuring git hooks are up-to-date'
|
|
find "$HOME/.local/src/shared-common/common/.config/husky" -mindepth 1 -maxdepth 1 -type f | while read HOOK; do
|
|
cp "$HOOK" "${XDG_CONFIG_HOME:-$HOME/.config}/git/template/hooks"
|
|
done
|
|
|
|
### Make git hooks executable
|
|
if [ -d "${XDG_CONFIG_HOME:-$HOME/.config}/git/template/hooks" ]; then
|
|
logg info 'Ensuring git hooks are executable'
|
|
chmod +x "${XDG_CONFIG_HOME:-$HOME/.config}/git/template/hooks/"*
|
|
fi
|
|
|
|
{{ end -}}
|