OS X - Yosemite

Setup Guide: http://sourabhbajaj.com/mac-setup/

System Preferences

Mouse - one tap to select
iCloud - deselect everything
Security & Privacy - allow apps to open from anywhere
Internet Accounts - deselect iCloud, add Google
Notifications
Dock - minimize
Show hidden files: defaults write com.apple.finder AppleShowAllFiles YES
Disabled gamed: defaults write com.apple.gamed Disabled -bool true

Install Software - AppStore

Xcode + cli: xcode-select --install

Install Software - Download

Adobe Creative Suite
Adobe Lightroom + VSCO presets
Sublime Text 3 + symlink subl tool: ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
Upwork Team

Environment

install 1password from outside the App Store
update system
add /usr/local/sbin to /etc/paths after /usr/local/bin
clone dotfiles from github and run symlink.sh
install brew
install caskroom/cask (for OSX application binaries)
clone IDE colours etc: https://github.com/chriskempson/base16-iterm2.git  https://github.com/chriskempson/base16-vim.git  https://github.com/chriskempson/base16-textmate.git
copy message history: ~/Library/Messages
copy /Library/Fonts
copy ssh private keys to new ~/.ssh, ssh-add -K private keys

localhost ssh
turn on System Preferences > Sharing > Remote login, update sshd config: sudo nano /etc/ssh/sshd_config to allow Port 22, authorized_keys,strict mode yes, permit root login no, AllowUsers, ClientAliveInterval 60

git
create /etc/.gitignore_system
git config --system core.excludesfile /etc/.gitignore_system

ulimit Yosemite
Include plist files in /Library/LaunchDaemons/ : http://docs.basho.com/riak/latest/ops/tuning/open-files-limit/#Mac-OS-X

Programming Environments

node
brew install nvm, mkdir ~/.nvm, cp $(brew --prefix nvm)/nvm-exec ~/.nvm/, nvm install stable, nvm alias default stable

python
brew install python, pip install --upgrade pip setuptools, pip install virtualenv, pip install virtualenvwrapper

python3
brew install python3, pip3 install --upgrade pip setuptools, pip3 install virualenv, pip3 install --upgrade virtualenvwrapper

ruby
brew install gpg, gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3, \curl -sSL https://get.rvm.io | bash -s stable, rvm requirements, rvm install ruby-head --with-gcc=clang, rvm --default use 2.2.1

swift
brew install kylef/formulae/swiftenv, echo 'if which swiftenv > /dev/null; then eval "$(swiftenv init -)"; fi' >> ~/.bash_profile

scala
brew install scala (To use with IntelliJ, set the Scala home to: /usr/local/opt/scala/idea), brew install sbt

haskell
brew install ghc cabal-install

clojure
brew install leiningen

postgres  http://exponential.io/blog/2015/02/21/install-postgresql-on-mac-os-x-via-brew/ brew install postgres, brew install postgis, create osx user postgres

mysql
brew install mysql, mysqlsecureinstallation

mongo
brew install mongodb, mkdir -p /usr/local/var/mongodb/data/db

php
brew install php56 --with-apache --with-imap
brew unlink httpd24

edit /etc/apache2/httpd.conf to use brewed php:
Replace LoadModule php5_module libexec/apache2/libphp5.so with LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so

phpmyadmin
brew install phpmyadmin, copy config.inc.php

Add configuration to /etc/apache2/httpd.conf:

Alias /phpmyadmin /usr/local/share/phpmyadmin  
  <Directory /usr/local/share/phpmyadmin/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Require all granted
</Directory>  

AMP

http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/
copy /etc/apache2/users/almccann.conf, sudo chown root:wheel /etc/apache2/users/almccann.conf
fix 2002 sock problem: sudo mkdir /var/mysql, sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Virtual Hosts
http://coolestguidesontheplanet.com/set-virtual-hosts-apache-mac-osx-10-10-yosemite/
edit /etc/apache2/extra/httpd-vhosts.conf
copy /etc/hosts

Install Software - Cask

brew cask install <app>

AppTrap
Calibre
Dash
Dupeguru
FileZilla
Firefox
Flux
freac
gpgtools
Google Chrome
Google Cloud SDK
Google Drive
Google Earth
Handbreak
Intellij
iTerm2
JewelryBox
Java
Little Snitch
MacTracker
Open Office
Paparazi
Postgres
Postico
Xquartz
React Native Debugger
Sequel Pro
ShiftIt
Skype
Splice
Things
Tor Browswer
Transmission
Tunnelblick
UnrarX
VLC
Wireshark

Transfer Data / Sync

Dropbox
Google Drive
Postgres (Postico) databases
MySQL (Sequel Pro) databases: create databases, users and import
Keychain
ssh keys

Setup IDEs

iTerm
colours, brew install tmux

Sublime Text
colours, install package manager (https://packagecontrol.io/installation), install packages, install package dependencies: npm install -g jshint, npm install -g csslint, pip3 install pep8

Vim
brew install vim