dotfiles/.config/yadm/bootstrap##template
Joe Lillibridge f1243af580
wip
2024-10-31 16:26:48 -05:00

54 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# WARNING: Do not edit this file.
# It was generated by processing {{ yadm.source }}
set -eu
{% if yadm.os == "Darwin" %}
# install homebrew if it's missing
if ! command -v brew >/dev/null 2>&1; then
echo "Installing homebrew"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
if [ -f "$HOME/.Brewfile" ]; then
echo "Updating homebrew bundle"
brew bundle --global
fi
{% endif %}
# Directory to look for bootstrap executables in
BOOTSTRAP_D="${BASH_SOURCE[0]}.d"
if [[ ! -d "$BOOTSTRAP_D" ]]; then
echo "Error: bootstrap directory '$BOOTSTRAP_D' not found" >&2
exit 1
fi
# This will execute all executable files (excluding templates and editor
# backups) in the $BOOTSTRAP_D directory when run.
find -L "$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
hash -r
{% if yadm.class == "Work" %}
YARN=$(brew --prefix yarn)/bin/yarn
if (command -v "$YARN" >/dev/null 2>&1); then
# Install yalc. Needed for local-publish
echo "Installing yalc..."
if ! $YARN global add yalc; then
echo "Failed to install yalc" >&2
else
echo "Successfully installed yalc"
fi
fi
{% endif %}