mirror of
https://github.com/TheLocehiliosan/yadm
synced 2025-12-05 06:02:20 +00:00
Merge 6168d02e94 into bbb58e6625
This commit is contained in:
commit
a436733b83
@ -1,29 +1,36 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
# Save this file as ~/.config/yadm/bootstrap and make it executable. It will
|
# Save this file as ~/.config/yadm/bootstrap and make it executable. It will
|
||||||
# execute all executable files (excluding templates and editor backups) in the
|
# execute all executable files (excluding templates and editor backups) in the
|
||||||
# ~/.config/yadm/bootstrap.d directory when run.
|
# ~/.config/yadm/bootstrap.d directory when run.
|
||||||
|
|
||||||
set -eu
|
set -e
|
||||||
|
|
||||||
# Directory to look for bootstrap executables in
|
# Directory to look for bootstrap executables in
|
||||||
BOOTSTRAP_D="${BASH_SOURCE[0]}.d"
|
# Works in sh, bash, and zsh
|
||||||
|
if [ -n "${BASH_SOURCE:-}" ]; then
|
||||||
|
BOOTSTRAP_D="${BASH_SOURCE[0]}.d"
|
||||||
|
else
|
||||||
|
BOOTSTRAP_D="${0}.d"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ! -d "$BOOTSTRAP_D" ]]; then
|
if [ ! -d "$BOOTSTRAP_D" ]; then
|
||||||
echo "Error: bootstrap directory '$BOOTSTRAP_D' not found" >&2
|
echo "Error: bootstrap directory '$BOOTSTRAP_D' not found" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
declare -a bootstraps
|
# Find and execute bootstrap files
|
||||||
while IFS= read -r bootstrap; do
|
find -L "$BOOTSTRAP_D" -type f | sort | while IFS= read -r bootstrap; do
|
||||||
if [[ -x "$bootstrap" && ! "$bootstrap" =~ "##" && ! "$bootstrap" =~ ~$ ]]; then
|
# Skip non-executable files, editor backups (~), and templates (##)
|
||||||
bootstraps+=("$bootstrap")
|
if [ -x "$bootstrap" ]; then
|
||||||
fi
|
case "$bootstrap" in
|
||||||
done < <(find -L "$BOOTSTRAP_D" -type f | sort)
|
*\##*|*~) continue ;;
|
||||||
|
esac
|
||||||
|
|
||||||
for bootstrap in "${bootstraps[@]}"; do
|
if ! "$bootstrap"; then
|
||||||
if ! "$bootstrap"; then
|
echo "Error: bootstrap '$bootstrap' failed" >&2
|
||||||
echo "Error: bootstrap '$bootstrap' failed" >&2
|
exit 1
|
||||||
exit 1
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user