-
-
Save igama/002376d9adf2b608d13e to your computer and use it in GitHub Desktop.
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 | |
# A script to set up a new mac. Uses bash, homebrew, etc. | |
# Focused for ruby/rails development. Includes many utilities and apps: | |
# - homebrew, rvm, node | |
# - quicklook plugins, terminal fonts | |
# - browsers: chrome, firefox | |
# - dev: iterm2, sublime text, postgres, chrome devtools, etc. | |
# - team: slack, dropbox, google drive, skype, etc | |
# - utils: unarchiver, o-day, caffine, skitch, etc | |
# - productivity: evernote, viscosity, omnigraffle, karabiner, etc. | |
# Settings | |
node_version="0.12.2" | |
ruby_versions="1.9 2.1 2.2" | |
ruby_default="2.1" | |
# helpers | |
function echo_ok { echo -e '\033[1;32m'"$1"'\033[0m'; } | |
function echo_warn { echo -e '\033[1;33m'"$1"'\033[0m'; } | |
function echo_error { echo -e '\033[1;31mERROR: '"$1"'\033[0m'; } | |
# requires xcode and tools! | |
xcode-select -p || exit "XCode must be installed! (use the app store)" | |
# requirements | |
cd ~ | |
mkdir -p tmp | |
echo_warn "setting permissions..." | |
for dir in "/usr/local /usr/local/bin /usr/local/include /usr/local/lib /usr/local/share"; do | |
sudo chgrp -R admin $dir | |
sudo chmod -R g+w $dir | |
done | |
# homebrew | |
export HOMEBREW_CASK_OPTS="--appdir=/Applications" | |
if hash brew &> /dev/null; then | |
echo_ok "Homebrew already installed" | |
else | |
echo_warn "Installing homebrew..." | |
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" | |
fi | |
# RVM | |
if hash rvm &> /dev/null; then | |
echo_ok "RVM already installed" | |
else | |
echo "Installing RVM..." | |
curl -sSL https://get.rvm.io | bash -s stable --ruby | |
fi | |
# add default gems to rvm | |
global_gems_config="$HOME/.rvm/gemsets/global.gems" | |
default_gems="bundler awesome-print lunchy rak" | |
for gem in $default_gems; do | |
echo $gem >> $global_gems_config | |
done | |
awk '!a[$0]++' $global_gems_config > /tmp/global.tmp | |
mv /tmp/global.tmp $global_gems_config | |
# RVM ruby versions | |
for version in $ruby_versions; do | |
rvm install $version | |
done | |
# moar homebrew... | |
brew install caskroom/cask/brew-cask | |
brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup | |
# Homebrew base | |
brew install \ | |
autoconf automake bash-completion cowsay cmatrix \ | |
ffmpeg figlet gettext go freetype htop-osx mongodb node \ | |
phantomjs postgres qt readline sqlite unrar wget youtube-dl | |
# brew cask fonts | |
echo_warn "Installing fonts..." | |
brew tap caskroom/fonts | |
brew cask install \ | |
font-anonymous-pro \ | |
font-droid-sans \ | |
font-droid-sans-mono font-droid-sans-mono-for-powerline \ | |
font-meslo-lg font-input \ | |
font-inconsolata font-inconsolata-for-powerline \ | |
font-liberation-mono font-liberation-mono-for-powerline \ | |
font-liberation-sans \ | |
font-roboto \ | |
font-source-code-pro font-source-code-pro-for-powerline font-source-sans-pro | |
# brew cask quicklook | |
echo_warn "Installing QuickLook Plugins..." | |
brew cask install qlcolorcode qlmarkdown qlprettypatch qlstephen \ | |
quicklook-csv quicklook-json epubquicklook animated-gif-quicklook | |
# Apps | |
echo_warn "Installing applications..." | |
brew cask install google-chrome google-hangouts google-drive | |
# other favorites | |
brew cask install \ | |
bettertouchtool day-o karabiner the-unarchiver flux\ | |
1password dropbox evernote skitch \ | |
spotify transmission vlc \ | |
adafruit-arduino iterm mongohub chrome-devtools firefox sublime-text \ | |
slack skype telephone \ | |
citrix-receiver omnigraffle viscosity | |
# xquartz | |
echo_warn "Installing xquartz (this big download can be slow)" | |
n=0 | |
until [ $n -ge 20 ]; do | |
brew cask install xquartz && break | |
n=$[$n+1] | |
echo_error "... install failed, retry $n" | |
done | |
# brew imagemagick | |
brew cask install inkscape | |
brew install librsvg | |
brew install imagemagick --with-librsvg | |
echo | |
echo_ok "Done." | |
echo | |
echo_warn "You may want to add the following settings to your .bashrc:" | |
echo_warn ' export HOMEBREW_CASK_OPTS="--appdir=/Applications"' | |
echo | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment