Forked from lopezm1/brew-install-mac-dev-environment.sh
Last active
June 27, 2018 05:20
-
-
Save rroman81/d45f3f01013e7ae2bd4e4e86e2e89017 to your computer and use it in GitHub Desktop.
Brew Install My Dev Environment for macOS High Sierra - Slack, Docker, iTerm, IntelliJ, Google, SourceTree, Spotify, etc.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
APP_FOLDER_LOCATION=/Applications | |
IFS="" | |
## Install applications via brew cask | |
brew_install() { | |
execute="$(brew cask install $1 2>&1)" | |
case $execute in | |
*Warning*|*Error*) echo "Warning while installing $1: $execute" ;; | |
*successfully*) echo "$execute \n Installed $1." ;; | |
*) echo "$execute \n Something went wrong while installing $1." ;; | |
esac | |
} | |
check_before_install() { | |
## Test for existence of the application | |
if [[ -n $(find $APP_FOLDER_LOCATION -iname $1.app) ]]; then | |
echo "$1 is already installed. Run - brew cask reinstall <cask-name> - to resinstall the cask." | |
else | |
case $1 in | |
Slack) brew_install slack;; | |
Docker) brew_install docker;; | |
iTerm) brew_install iterm2;; | |
Google\ Chrome) brew_install google-chrome;; | |
IntelliJ\ Idea) brew_install intellij-idea;; | |
Sourcetree) brew_install sourcetree;; | |
Spotify) brew_install spotify;; | |
Sequel\ Pro) brew_install sequel-pro;; | |
Visual\ Studio\ Code) brew_install visual-studio-code;; | |
*) echo "Add $1 to check_before_install() to install additional applications." ;; | |
## Add the application name to the switch case statement, then pass the cask-name to the brew_install function | |
## For example: Skype) brew_install skype | |
## Search for brew casks at https://caskroom.github.io/search | |
esac | |
fi | |
} | |
# Install Terraform | |
install_terraform(){ | |
execute="$(brew install terraform 2>&1)" | |
case $execute in | |
*brew\ link*) | |
echo $execute | |
read -r -p "${1:-Terraform already exists, would you like to overwrite it? [y/N]} " response | |
case "$response" in | |
[yY][eE][sS]|[yY]) | |
$(brew link --overwrite terraform);; | |
*) | |
echo "Not overwriting terraform.";; | |
esac;; | |
*Warning*|*Error*) echo $execute ;; | |
*Summary*) echo "$execute \n Installed Terraform." ;; | |
*) echo "$execute \n Something went wrong while installing $1." ;; | |
esac | |
} | |
# Install homebrew | |
install_homebrew_if_not_present() { | |
echo "Checking for homebrew installation" | |
which -s brew | |
if [[ $? != 0 ]] ; then | |
echo "Homebrew not found. Installing..." | |
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" | |
else | |
echo "Homebrew already installed! Updating..." | |
brew update | |
fi | |
} | |
### | |
# Main body of script starts here | |
### | |
## Install brew and brew cask | |
install_homebrew_if_not_present | |
brew update | |
brew tap caskroom/cask | |
brew tap caskroom/versions | |
brew doctor | |
## Applications we will install with `brew cask install` | |
## additional applications can be added here if you wish to install them | |
declare -a applications=( Spotify Sourcetree Slack Docker iTerm "IntelliJ Idea" "Google Chrome" "Sequel Pro" "Visual Studio Code" ) | |
## Check if the application is already installed, install if it's not | |
for element in ${applications[*]} | |
do | |
check_before_install $element | |
done | |
## Install Terraform | |
install_terraform | |
## Install other miscellaneous tools | |
brew install git | |
brew install python #python 3 | |
brew install node | |
brew install coreutils | |
brew cask install java8 | |
#brew cask install java || if you want the latest version of java | |
brew install maven | |
brew install awscli | |
npm install -g serverless | |
brew install packer | |
brew install python2 #python2.7 | |
brew install telnet | |
brew cask install sql-operations-studio | |
## Install oh-my-zsh for iTerm | |
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment