#!/bin/bash # Adrien Luxey - Feb. 2019 # Script inspired by https://github.com/mathiasbynens/dotfiles/blob/master/bootstrap.sh # Get dotfiles dir DOTDIR=$(cd "$(dirname ${BASH_SOURCE})"; pwd) INSTALLED_FLAG_FILE="$DOTDIR/.installed" INSTALL_SUBLIME=0 function printHelp { cat <<-EOF USAGE: $0 [OPTIONS] OPTIONS: -s|--sublime Install Sublime Text 3 -h|--help Show this help The script will install dependencies once (remove ${INSTALLED_FLAG_FILE} to redo) and symlink dotfiles to their destination in your \$HOME. EOF exit $1; } function syncDotfiles { echo Removing previous dotfiles... rm $HOME/.zshrc > /dev/null 2>&1 rm $HOME/.vimrc > /dev/null 2>&1 rm $HOME/.tmux.conf > /dev/null 2>&1 rm -rf $HOME/.vim > /dev/null 2>&1 rm -rf $HOME/.tmux > /dev/null 2>&1 rm -rf $HOME/.config/sublime-text-3/Packages/User > /dev/null 2>&1 echo Installing our dotfiles... ln -s $DOTDIR/zshrc $HOME/.zshrc ln -s $DOTDIR/vimrc $HOME/.vimrc ln -s $DOTDIR/tmux.conf $HOME/.tmux.conf ln -s $DOTDIR/vim $HOME/.vim ln -s $DOTDIR/tmux $HOME/.tmux if [ -d "$HOME/.config/sublime-text-3" ]; then ln -s $DOTDIR/sublime $HOME/.config/sublime-text-3/Packages/User fi } function installDependencies { echo Installing dependencies... # Dependencies sudo apt update > /dev/null 2>&1 sudo apt install -y apt-transport-https curl zsh fonts-powerline autojump > /dev/null 2>&1 # Install Sublime Text if [[ ${INSTALL_SUBLIME} -eq 1 ]]; then echo Installing Sublime Text 3... wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - > /dev/null 2>&1 echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list > /dev/null 2>&1 sudo apt update > /dev/null 2>&1 sudo apt install sublime-text -y > /dev/null 2>&1 fi # Install Oh My Zsh if [ ! -d "$HOME/.oh-my-zsh" ]; then echo Installing Oh-My-Zsh... sh -c "$(wget -q https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" # Install powerlevel9k theme in Oh-My-Zsh if [ ! -d "$HOME/.oh-my-zsh/custom/themes/powerlevel9k" ]; then echo Installing Powerlevel9k theme... git clone https://github.com/bhilburn/powerlevel9k.git $HOME/.oh-my-zsh/custom/themes/powerlevel9k > /dev/null 2>&1 fi fi # Set ZSH as default shell if [ ! "$SHELL" = "$(which zsh)" ]; then echo Setting ZSH as default shell... chsh -s $(which zsh) fi } # Parse command-line arguments while (( "$#" )); do case "$1" in -h|--help) printHelp 0 ;; -s|--sublime) INSTALL_SUBLIME=1 shift ;; --) shift break ;; -*|--*=) echo "Error: Unsupported flag $1" >&2 printHelp 1 ;; esac done if [ ! -f $INSTALLED_FLAG_FILE ]; then installDependencies && touch $INSTALLED_FLAG_FILE fi syncDotfiles echo "All done!" exit 0