2018-12-22 20:17:54 -05:00
|
|
|
#!/bin/bash
|
|
|
|
|
2021-07-29 11:30:09 -04:00
|
|
|
# Save this file as ~/.config/yadm/bootstrap and make it executable. It will
|
|
|
|
# execute all executable files (excluding templates and editor backups) in the
|
|
|
|
# ~/.config/yadm/bootstrap.d directory when run.
|
2018-12-22 20:17:54 -05:00
|
|
|
|
2021-07-29 11:30:09 -04:00
|
|
|
set -eu
|
2018-12-22 20:17:54 -05:00
|
|
|
|
2021-07-29 11:30:09 -04:00
|
|
|
# Directory to look for bootstrap executables in
|
|
|
|
BOOTSTRAP_D="${BASH_SOURCE[0]}.d"
|
2019-01-02 07:06:38 -05:00
|
|
|
|
2021-07-29 11:30:09 -04:00
|
|
|
if [[ ! -d "$BOOTSTRAP_D" ]]; then
|
|
|
|
echo "Error: bootstrap directory '$BOOTSTRAP_D' not found" >&2
|
|
|
|
exit 1
|
2019-01-02 07:06:38 -05:00
|
|
|
fi
|
|
|
|
|
2021-07-29 11:30:09 -04:00
|
|
|
find "$BOOTSTRAP_D" -type f | sort | while IFS= read -r bootstrap; do
|
|
|
|
if [[ -x "$bootstrap" && ! "$bootstrap" =~ "##" && ! "$bootstrap" =~ "~$" ]]; then
|
|
|
|
if ! "$bootstrap"; then
|
|
|
|
echo "Error: bootstrap '$bootstrap' failed" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|