c3342f8194
- /home/private_dot_config/git/template/symlink_commit-msg - /home/private_dot_config/git/template/symlink_post-checkout - /home/private_dot_config/git/template/symlink_post-commit - /home/private_dot_config/git/template/symlink_post-merge - /home/private_dot_config/git/template/symlink_post-rewrite - /home/private_dot_config/git/template/symlink_pre-commit - /home/private_dot_config/git/template/symlink_pre-push - /home/private_dot_config/git/template/symlink_prepare-commit-msg - /home/private_dot_config/git/template/symlink_commit-msg.tmpl - /home/private_dot_config/git/template/symlink_post-checkout.tmpl - /home/private_dot_config/git/template/symlink_post-commit.tmpl - /home/private_dot_config/git/template/symlink_post-merge.tmpl - /home/private_dot_config/git/template/symlink_post-rewrite.tmpl - /home/private_dot_config/git/template/symlink_pre-commit.tmpl - /home/private_dot_config/git/template/symlink_pre-push.tmpl - /home/private_dot_config/git/template/symlink_prepare-commit-msg.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_11-symlink-ansible-roles.tmpl
31 lines
1.5 KiB
Bash
31 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
{{ includeTemplate "universal/profile" }}
|
|
{{ includeTemplate "universal/logg" }}
|
|
|
|
{{ $roleDirs := (output "find" (joinPath .chezmoi.homeDir ".local" "src" "gas-station" "roles") "-mindepth" "2" "-maxdepth" "2" "-type" "d") -}}
|
|
{{- range $roleDir := splitList "\n" $roleDirs -}}
|
|
{{- if ne $roleDir "" -}}
|
|
# {{ $roleDir }}
|
|
{{ end -}}
|
|
{{- end }}
|
|
|
|
logg info 'Ensuring Gas Station roles are symlinked to ~/.local/share/ansible/roles'
|
|
mkdir -p "$XDG_DATA_HOME/ansible/roles"
|
|
find "$HOME/.local/src/gas-station/roles" -mindepth 2 -maxdepth 2 -type d | while read ROLE_PATH; do
|
|
ROLE_FOLDER="professormanhattan.$(echo "$ROLE_PATH" | sed 's/.*\/\([^\/]*\)$/\1/')"
|
|
ALT_ROLE_FOLDER="$(echo "$ROLE_PATH" | sed 's/.*\/\([^\/]*\)$/\1/')"
|
|
if [ ! -d "$XDG_DATA_HOME/ansible/roles/$ROLE_FOLDER" ] || [ "$(readlink -f "$XDG_DATA_HOME/ansible/roles/$ROLE_FOLDER")" != "$ROLE_PATH" ]; then
|
|
rm -f "$XDG_DATA_HOME/ansible/roles/$ROLE_FOLDER"
|
|
ln -s "$ROLE_PATH" "$XDG_DATA_HOME/ansible/roles/$ROLE_FOLDER"
|
|
fi
|
|
if [ ! -d "$XDG_DATA_HOME/ansible/roles/$ALT_ROLE_FOLDER" ] || [ "$(readlink -f "$XDG_DATA_HOME/ansible/roles/$ALT_ROLE_FOLDER")" != "$ROLE_PATH" ]; then
|
|
rm -f "$XDG_DATA_HOME/ansible/roles/$ALT_ROLE_FOLDER"
|
|
ln -s "$ROLE_PATH" "$XDG_DATA_HOME/ansible/roles/$ALT_ROLE_FOLDER"
|
|
fi
|
|
done
|
|
|
|
if [ -f "$HOME/.local/src/gas-station/requirements.yml" ] && command -v ansible-galaxy > /dev/null; then
|
|
logg info 'Ensuring Ansible Galaxy collections are installed'
|
|
ansible-galaxy install -r "$HOME/.local/src/gas-station/requirements.yml"
|
|
fi
|