Got a new machine? Hit the ground running with Homebrew

in Geek Inside

I just got a new computer, and wanted to install everything from scratch instead of copying data from my old machine. However, I didn’t want to spend hours going from site to site, downloading disk image files, opening them, installing a software, deleting the dmg file, and so on. Luckily, Homebrew and Cask were here to help! Here is the shell script I came up with.

It took me a few hours to come up with a script listing the important apps I use every day, but it was worth it. Once I got my new machine, I just had to run the script! I spent more time configuring the apps than actually downloading and installing them all.


echo Install all AppStore Apps at first!
# If you are looking into a solution to automate AppStore installs,
# check mas
# I installed XCode, Simplenote, Clocks, Stuffit Expander, Cloudapp, Forklift.
read -p "Press any key to continue... " -n1 -s
echo  '\n'

# Install Homebrew

# Check for Homebrew
if test ! $(which brew)
  echo "  Installing Homebrew for you."
  ruby -e "$(curl -fsSL" > /tmp/homebrew-install.log

# Make sure we’re using the latest Homebrew.
brew update

# Upgrade any already-installed formulae.
brew upgrade --all

# Add some casks
brew tap caskroom/cask
brew tap homebrew/dupes
brew services list

# Install important utilities
echo Install Core utilities
brew install coreutils
brew install ffmpeg
brew install imagemagick
brew install graphicsmagick
brew install httpie

# Crypto
echo Install Crypto softwares
brew install gpg keybase gpg-agent
brew install tunnelblick

# Software
echo Install basic apps
brew cask install --appdir="/Applications" screenhero
brew cask install --appdir="/Applications" clipmenu
brew cask install --appdir="/Applications" wordpresscom
brew cask install --appdir="/Applications" google-drive
brew cask install --appdir="/Applications" google-chrome
brew cask install --appdir="/Applications" firefox
brew cask install --appdir="/Applications" dropbox
brew cask install --appdir="/Applications" atom
brew cask install --appdir="/Applications" 1password
brew cask install --appdir="/Applications" slack
brew cask install --appdir="/Applications" vlc
brew cask install --appdir="/Applications" adium
brew cask install --appdir="/Applications" limechat
brew cask install --appdir="/Applications" nvalt
brew cask install --appdir="/Applications" textexpander
brew cask install --appdir="/Applications" flux
brew cask install --appdir="/Applications" alfred
brew cask install --appdir="/Applications" rescuetime
brew cask install --appdir="/Applications" gas-mask
brew cask install --appdir="/Applications" appcleaner

# Keyboard tweaks
brew install karabiner
brew install seil

# Development
echo Install Development tools
brew install nano
brew install git
brew install subversion

# Get a better shell
brew install zsh zsh-completions

# Development tools
brew install unison
brew install php70
brew install mysql
brew install wget
brew install node
brew install npm
brew install gulp
brew install grunt
brew install ack
brew install hub
brew install sass
brew install keroku-toolbelt
brew tap homebrew/homebrew-php
brew install composer
brew install wp-cli
brew install chromedriver
gem install wbench

# Entertainment
echo Install some nice-to-have Entertainment tools
brew cask install --appdir="/Applications" sonarr
brew cask install --appdir="/Applications" transmission
brew cask install --appdir="/Applications" steam
brew cask install --appdir="/Applications" calibre
brew cask install --appdir="/Applications" handbrake
brew cask install --appdir="/Applications" plex-home-theater
brew cask install --appdir="/Applications" plex-media-server
brew cask install --appdir="/Applications" myo-connect

gem install boom

npm install -g gify

# Cleanup
brew cleanup
rm -f -r /Library/Caches/Homebrew/*

echo "All done! Phew!"

Props Thomas Iovine, I stole the idea from him :)

  1. Very cool! I’ve seen a few people come up with automated re-install scripts but this is the first one I could read and easily follow. Hoping to make use of it later this year (fingers crossed for new MBPs).

Comments are closed.