-
Notifications
You must be signed in to change notification settings - Fork 1
/
run.sh
executable file
·88 lines (76 loc) · 3.41 KB
/
run.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/usr/bin/env bash
# Root is $DOTPATH if it exists, otherwise the directory of this script
root=$(realpath "${DOTPATH:-$(dirname "$(realpath "$0")")}")
# Source the bash_traceback.sh file
source "${root}/bash_traceback.sh"
###############################################################################
# OS and architecture detection #
###############################################################################
os="$(uname)"
if [[ ${os} != 'Darwin' ]] && [[ ${os} != 'Linux' ]]; then
echo -e "❌ \033[1;31mError: Unsupported OS: ${os}\033[0m"
exit 1
fi
echo -e "\033[1;33m💻 OS detected:\033[0m ${os}"
archname="$(arch)"
echo -e "\033[1;33m💻 Arch detected:\033[0m ${archname}"
###############################################################################
# Install Homebrew #
###############################################################################
echo
echo -e "\033[1;33m🍺 Installing Homebrew...\033[0m"
if ! command -v brew &>/dev/null; then
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo -e "🍻 \033[1;32mHomebrew installed.\033[0m"
else
echo -e "🍻 \033[1;32mHomebrew is already installed.\033[0m"
fi
###############################################################################
# Install dotfiles #
###############################################################################
echo
echo -e "\033[1;33m🚀 Running dotsync.sh...\033[0m"
sleep 1
./dotsync.sh "${1-}"
###############################################################################
# Linux exit #
###############################################################################
if [[ ${os} == "Linux" ]]; then
echo
echo -e "\033[1;33m ⛔️ Warning: Linux is not supported after this point.\033[0m"
exit 0
fi
###############################################################################
# macOS preferences #
###############################################################################
sleep 1
echo -e "\033[1;33m🚀 Running macos.sh...\033[0m"
./macos.sh "${1-}"
###############################################################################
# CI exit #
###############################################################################
if [[ ${CI-} == "true" ]]; then
echo
echo -e "\033[1;33m ⛔️ Warning: macOS is not supported in CI after this point.\033[0m"
exit 0
fi
###############################################################################
# Install apps and software #
###############################################################################
echo
echo -e "\033[1;33m🚀 Running install.sh...\033[0m"
sleep 1
./install.sh "${1-}"
echo
echo -e "\033[1;33m🚀 Running dock.sh...\033[0m"
sleep 1
./dock.sh
###############################################################################
# Local settings and variables #
###############################################################################
echo
echo -e "\033[1;33m🚀 Running local.sh...\033[0m"
sleep 1
./local.sh "${1-}"
echo
echo -e "\033[1;32m🎉 Setup complete!\033[0m"