Last active
August 4, 2016 13:53
-
-
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.
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 | |
################ | |
# 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 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Sucks that it's not possible to install AppStore applications, so those need to be installed manually after this is run.