#!/usr/bin/env bash set -e BASE_CONFIG="base" CONFIG_SUFFIX=".yaml" META_DIR="meta" CONFIG_DIR="tasks" PROFILES_DIR="profiles" DOTBOT_DIR="dotbot" DOTBOT_BIN="bin/dotbot" BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "${BASE_DIR}" git -C "${BASE_DIR}" submodule sync --quiet --recursive git submodule update --init --recursive "${BASE_DIR}" while IFS= read -r config; do CONFIGS+=" ${config}" done < "${META_DIR}/${PROFILES_DIR}/$1" shift for config in ${CONFIGS} ${@}; do echo -e "\nConfigure $config" # create temporary file configFile="$(mktemp)" suffix="-sudo" echo -e "$(<"${BASE_DIR}/${META_DIR}/${BASE_CONFIG}${CONFIG_SUFFIX}")\n$(<"${BASE_DIR}/${META_DIR}/${CONFIG_DIR}/${config%"$suffix"}${CONFIG_SUFFIX}")" > "$configFile" # cmd=("${BASE_DIR}/${META_DIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASE_DIR}" \ # -p "${BASE_DIR}/${META_DIR}/dotbot-yay/yay.py" -c "$configFile") cmd=("${BASE_DIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASE_DIR}" \ -p "${BASE_DIR}/dotbot_plugins/dotbot-apt-get/aptget.py" \ -p "${BASE_DIR}/dotbot_plugins/dotbot-conditional/conditional.py" \ -p "${BASE_DIR}/dotbot_plugins/dotbot-pamac/pamac.py" \ -p "${BASE_DIR}/dotbot_plugins/dotbot-yay/yay.py" \ -c "$configFile") if [[ $config == *"sudo"* ]]; then cmd=(sudo "${cmd[@]}") fi "${cmd[@]}" rm -f "$configFile" done cd "${BASE_DIR}"