Skip to content

Instantly share code, notes, and snippets.

@keithhamilton
Last active August 4, 2016 13:53
Show Gist options
  • Save keithhamilton/9770948 to your computer and use it in GitHub Desktop.
Save keithhamilton/9770948 to your computer and use it in GitHub Desktop.
Install script for many of the tools I use in my dev environment. Doesn't install key files or license codes, just the apps. It's a step in the right direction for getting a fresh system up quickly.
#!/bin/bash
################
# OS X Dev Tool Installer
################
#
# WHAT IS INSTALLED
# Homebrew
# wget
# python 2.7.6
# git
# pip
# virtualenv
# fabric
# boto
# awscli tools
# pip
# Alfred (Spotlight replacement)
# Aqua Data Studio
# Araxis Merge
# Ez7z
# Firefox 28
# Google Chrome
# Google Drive
# HipChat
# IntelliJ Idea 13
# iTerm
# KeePassX
# MongoHub
# Mou
# Node.js
# Oh-My-ZSH
# Packer
# Reggy
# Skype
# Sublime Text 2
# Vagrant
# Virtualbox
#
#################
LOCAL_INSTALL_PATH=/Users/`whoami`/Downloads/_installers
# creates and cds into a temporary directory
tmpdir(){
cd /tmp
mkdir "$1"
cd "$1"
}
# removes a temporary directory
rmtmpdir(){
cd /tmp
rm -rf "$1"
}
# "simple_local_install" is for installers that are not readily downloadable with wget
# to install these, download the appropriate DMG installer and put it in the
# LOCAL_INSTALL_PATH at the top of this file
simple_local_install(){
INSTALLER=`ls $LOCAL_INSTALL_PATH | grep -i "$1" | sed -e 's/\ /\\ /g'`
hdiutil mount $LOCAL_INSTALL_PATH/"$INSTALLER"
VOLUME=`ls /Volumes | grep -i "$1" | sed -e 's/\ /\\ /g'`
cp -r /Volumes/"$VOLUME"/*.app /Applications/
diskutil unmount force /Volumes/"$VOLUME"
}
# tars up current user's library folder, deleting caches, logs, etc
prep_library(){
rm -rf ~/Library/Caches/*
rm -rf ~/Library/Saved\ Application\ State/*
rm -rf ~/Library/Logs/*
rm -rf ~/Library/Cookies/*
tar -czf ~/Documents/Library.tar.gz ~/Library
}
# start by zipping up Library
prep_library
# install Homebrew -- first, since we want wget for other installs
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install wget
brew install python
brew install git
# Installs, alphabetized
# Alfred
tmpdir alfred
wget http://cachefly.alfredapp.com/Alfred_2.2_243b.zip
unzip Alfred_2.2_243b.zip
mv Alfred\ 2.app /Applications/
rmtmpdir alfred
# Aqua Data Studio
tmpdir aquadata
wget http://dd1.aquafold.com/download/v14.0.0/osx/ads-osx-14.0.10.tar.gz
tar xzf ads-osx-14.0.10.tar.gz
mv Aqua\ Data\ Studio.app /Applications/
rmtmpdir aquadata
# Araxis Merge
tmpdir araxis
wget http://www.araxis.com/download/Merge2013.4415-OSX10.9.dmg
hdiutil mount Merge2013.4415-OSX10.9.dmg
sudo cp -r /Volumes/Araxis\ Merge\ 2013.4415\ \(Mavericks\)/Araxis\ Merge.app /Applications/
diskutil unmount force /Volumes/Araxis\ Merge\ 2013.4415\ \(Mavericks\)/
rmtmpdir araxis
# Ez7z
simple_local_install Ez7z
# Firefox
simple_local_install Firefox
# Google Chrome
simple_local_install chrome
# Google Drive
simple_local_install drive
# HipChat
tmpdir HipChat
cp -prv $LOCAL_INSTALL_PATH/`ls $LOCAL_INSTALL_PATH | grep -i hipchat` .
unzip *.zip
mv HipChat.app /Applications/
rmtmpdir
# IntelliJ Idea
tmpdir idea
wget http://download.jetbrains.com/idea/ideaIU-13.1.1.dmg
hdiutil mount ideaIU-13.1.1.dmg
sudo cp -r /Volumes/IntelliJ\ IDEA\ 13/*.app /Applications/
diskutil unmount force /Volumes/IntelliJ\ IDEA\ 13
rmtmpdir idea
# iTerm
tmpdir iterm
wget http://downloads.sourceforge.net/iterm/iTerm_0.10.zip
unzip iTerm_0.10.zip
mv iTerm.app /Applications
rmtmpdir iterm
# KeePassX
tmpdir keepass
wget https://www.keepassx.org/releases/KeePassX-0.4.3.dmg
hdiutil mount KeePassX-0.4.3.dmg
cp -r /Volumes/KeePassX-0.4.3/KeePassX.app /Applications/
diskutil unmount force /Volumes/KeePassX-0.4.3
rmtmpdir keepass
# MongoHub
tmpdir mongohub
wget https://github.com/downloads/bububa/MongoHub-Mac/MongoHub.zip
unzip MongoHub.zip
mv MongoHub.app /Applications/
rmtmpdir mongohub
# Mou
tmpdir mou
wget http://mouapp.com/download/Mou.zip
unzip Mou.zip
mv Mou.app /Applications/
rmtmpdir mou
# node.js
tmpdir node
wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.pkg
sudo installer -package node-v0.10.26.pkg -target /
rmtmpdir node
# oh-my-zsh
wget --no-check-certificate http://install.ohmyz.sh -O - | sh
# Packer
tmpdir packer
wget https://dl.bintray.com/mitchellh/packer/0.5.2_darwin_amd64.zip
unzip 0.5.2_darwin_amd64.zip
cp `ls | grep packer` /usr/local/bin/
rmtmpdir packer
# Pip Stuff
pip install fabric boto virtualenv awscli
# Reggy
tmpdir reggy
wget http://github.com/downloads/samsouder/reggy/Reggy_v1.3.tbz
tar xzf Reggy_v1.3.tbz
mv Reggy.app /Applications
rmtmpdir reggy
# Skype
simple_local_install Skype
# Sublime Text 2
tmpdir sublime
wget http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.dmg
hdiutil mount Sublime\ Text\ 2.0.2.dmg
cp -r /Volumes/Sublime\ Text\ 2/*.app /Applications/
rmtmpdir sublime
# Vagrant
tmpdir vagrant
wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.5.1.dmg
hdiutil mount vagrant_1.5.1.dmg
sudo installer -package /Volumes/Vagrant/Vagrant.pkg -target /
rmtmpdir vagrant
# VirtualBox
tmpdir virtualbox
wget http://download.virtualbox.org/virtualbox/4.3.8/VirtualBox-4.3.8-92456-OSX.dmg
hdiutil mount VirtualBox-4.3.8-92456-OSX.dmg
sudo installer -package /Volumes/VirtualBox/VirtualBox.pkg -target /
diskutil unmount force /Volumes/VirtualBox
rmtmpdir virtualbox
@keithhamilton
Copy link
Author

Sucks that it's not possible to install AppStore applications, so those need to be installed manually after this is run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment