2021-01-31 18:10:19 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2021-02-08 00:01:23 +01:00
|
|
|
# Variables
|
|
|
|
CYAN_BOLD='\033[1;96m'
|
2021-02-08 16:26:59 +01:00
|
|
|
YELLOW_BOLD='\033[1;93m'
|
2021-02-08 00:01:23 +01:00
|
|
|
RED_BOLD='\033[1;31m'
|
|
|
|
PLAIN_BOLD='\033[1;37m'
|
|
|
|
|
|
|
|
# Print Welcome Message
|
|
|
|
printf "${CYAN_BOLD}"
|
|
|
|
printf "╭──────────────────────╮\n"
|
|
|
|
printf "│ "
|
|
|
|
printf "${PLAIN_BOLD}"
|
|
|
|
printf "Dotfile Setup Script "
|
|
|
|
printf "${CYAN_BOLD}"
|
|
|
|
printf "│\n"
|
|
|
|
printf "╰──────────────────────╯\n"
|
2021-01-31 21:45:12 +01:00
|
|
|
|
2021-02-08 16:26:59 +01:00
|
|
|
# Checks if a given package is installed
|
|
|
|
command_exists () {
|
|
|
|
hash "$1" 2> /dev/null
|
|
|
|
}
|
|
|
|
|
|
|
|
# Shows warning if required modules are missing
|
|
|
|
system_verify () {
|
|
|
|
if ! command_exists $1; then
|
|
|
|
printf "${YELLOW_BOLD}Warning:"
|
|
|
|
printf "${PLAIN_BOLD} $1 is not installed\n"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
system_verify "zsh"
|
|
|
|
system_verify "vim"
|
|
|
|
system_verify "git"
|
|
|
|
system_verify "tmux"
|
|
|
|
|
|
|
|
|
2021-01-31 18:10:19 +01:00
|
|
|
set -e
|
|
|
|
|
|
|
|
CONFIG=".install.conf.yaml"
|
|
|
|
DOTBOT_DIR=".dotbot"
|
|
|
|
DOTBOT_BIN="bin/dotbot"
|
|
|
|
BASEDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
|
|
|
cd "${BASEDIR}"
|
|
|
|
git -C "${DOTBOT_DIR}" submodule sync --quiet --recursive
|
|
|
|
git submodule update --init --recursive "${DOTBOT_DIR}"
|
|
|
|
|
2021-02-08 00:01:23 +01:00
|
|
|
"${BASEDIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASEDIR}" -c "${CONFIG}" "${@}"
|