aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--install.sh71
1 files changed, 71 insertions, 0 deletions
diff --git a/install.sh b/install.sh
new file mode 100644
index 0000000..9dd046d
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,71 @@
+#!/bin/bash
+
+# install.sh
+
+check_is_sudo() {
+ if [ "$EUID" -ne 0 ]; then
+ echo "Please run as root."
+ exit
+ fi
+}
+
+usage() {
+ echo "Usage: sudo bash install.sh [OPTION]"
+ echo " base - install base pkgs"
+ echo " dotfiles - get dotfiles from GitHub and set soft links"
+ echo " all - install all things listed above"
+}
+
+base_install() {
+ echo "--------- Install Base Packages Now ---------"
+ if command -v apt > /dev/null; then
+ apt install git \
+ curl \
+ cmake \
+ build-essential \
+ python3-dev \
+ autojump \
+ zsh
+ fi
+}
+
+get_dotfiles() {
+ # create subshell
+ (
+ echo "--------- Get Dotfiles Now ---------"
+
+ read -r -p "It will remove the dotfiles folder if it exists and overwrite all dotfiles. Are you sure? [y/N] " response
+ response=${response,,} # tolower
+ if [[ "$response" =~ ^(yes|y)$ ]]; then
+
+ cd "$HOME"
+ rm -rf dotfiles
+ git clone [email protected]:humpylin/dotfiles.git
+
+ rm -rf .vimrc .tmux.conf .bashrc .zshrc .gitconfig
+ ln -s dotfiles/.vimrc .vimrc
+ ln -s dotfiles/.tmux.conf .tmux.conf
+ ln -s dotfiles/.bashrc .bashrc
+ ln -s dotfiles/.gitconfig .gitconfig
+ ln -s dotfiles/.zshrc .zshrc
+ fi
+ )
+}
+
+main() {
+ local cmd=$1
+
+ if [[ -z "$cmd" ]]; then
+ usage
+ exit 1
+ fi
+
+ check_is_sudo
+
+ if [[ $cmd == all ]]; then
+ base_install
+ get_dotfiles
+ fi
+}
+
+main "$@"