#!/usr/bin/env bash set -euo pipefail REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" # shellcheck source=deploy-manifest.sh source "$REPO_ROOT/scripts/deploy-manifest.sh" echo "Installing from $REPO_ROOT..." for entry in "${DEPLOY_FILES[@]}"; do dest="$HOME/${entry##*:}" mkdir -p "$(dirname "$dest")" cp "$REPO_ROOT/${entry%%:*}" "$dest" done for entry in "${DEPLOY_EXECUTABLES[@]}"; do dest="$HOME/${entry##*:}" mkdir -p "$(dirname "$dest")" cp "$REPO_ROOT/${entry%%:*}" "$dest" chmod +x "$dest" done for entry in "${DEPLOY_DIRS[@]}"; do dest="$HOME/${entry##*:}" rm -rf "$dest" mkdir -p "$dest" cp -r "$REPO_ROOT/${entry%%:*}/." "$dest/" done for dir in "${DEPLOY_EMPTY_DIRS[@]}"; do mkdir -p "$HOME/$dir" done echo "" echo "Deployed:" for entry in "${DEPLOY_FILES[@]}" "${DEPLOY_EXECUTABLES[@]}"; do echo " ~/${entry##*:}" done for entry in "${DEPLOY_DIRS[@]}"; do echo " ~/${entry##*:}/" done for dir in "${DEPLOY_EMPTY_DIRS[@]}"; do echo " ~/$dir/ (directory created)" done