Whenever a new OS comes up, I like to take the opportunity to start fresh rather than upgrade. ---- I'll download the OS and [create a bootable USB thumb drive](http://www.gottabemobile.com/2014/10/16/how-to-clean-install-os-x-yosemite/). ---- Following that I'll create a "sparse bundle" using [SuperDuper](http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html) saving it to an external drive. This will allow me to mount my old hard drive and cherry pick files and configuration stuff without having to stress about taking a full inventory before I blow away my machine and start anew. ---- Once the sparse bundle is created and I have tested it by mounted it and verifying I can get files off of it, I eject the portal drive, make sure my USB stick is plugged in a and reboot while holding down the Option key per the instructions linked above. ---- Now that I have clean environment I did the following: * Installed homebrew * Installed Xcode 6.1 with command line utils * Installed packages * Setup my terminal theme * Installed my Oh My Zsh and my dotfiles * Installed ST3 and set it up * Installed GitHub for Mac ---- **homebrew** `ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"` [link](http://brew.sh) ---- **Xcode 6.1** [Download](https://developer.apple.com/xcode/downloads/) ---- **install packages** I mostly follow what [Brian Rosner](https://thoughtstreams.io/brosner) in [setting up his environment](https://gist.github.com/brosner/8b9406a6da286efc4e18). Which can be summarized by: brew install git autoenv ccache brew install pyenv rbenv brew install pyenv-virtualenv brew install pyenv-virtualenvwrapper brew install pyenv-pip-rehash pyenv-ccache Using [pyenv]() is new to me but something Brian has been using to manage Python environments and versions so I thought I'd give it a try as well. Setting up a 2.7 Python using `pyenv`: pyenv install 2.7.8 pyenv global 2.7.8 For the rest of the packages I install: brew install node postgresql redis brew install postgis elasticsearch rabbitmq Notice I don't install `go` or `ghc`. For each of the services installed, I follow the caveats and `ln` them to start on reboot and go ahead an start them now. ---- **terminal theme** I use the [Tomorrow Night](https://github.com/chriskempson/tomorrow-theme/blob/master/OS%20X%20Terminal/Tomorrow%20Night.terminal) theme in my terminal. ---- **shell setup** I use [Oh My Zsh](http://ohmyz.sh) as a baseline and then pull in my [dotfiles](https://github.com/paltman/dotfiles). ---- **Sublime Text 3** I [re-download, install, and enter my license key](http://www.sublimetext.com/3) for ST3. I install [Package Controller](https://sublime.wbond.net) along with the following packages: * [BracketHighligher](https://sublime.wbond.net/packages/BracketHighlighter) * [Cucumber](https://sublime.wbond.net/packages/Cucumber) * [Djaneiro](https://sublime.wbond.net/packages/Djaneiro) * [Django Click](https://sublime.wbond.net/packages/Django%20Click) * [GitGutter](https://sublime.wbond.net/packages/GitGutter) * [LESS](https://sublime.wbond.net/packages/LESS) * [SublimeLinter](https://sublime.wbond.net/packages/SublimeLinter) * [SublimeLinter-flake8](https://sublime.wbond.net/packages/SublimeLinter-flake8) * [SublimeLinter-html-tidy](https://sublime.wbond.net/packages/SublimeLinter-html-tidy) * [SublimeLinter-jshint](https://sublime.wbond.net/packages/SublimeLinter-jshint) * [SublimeLinter-jsxhint](https://sublime.wbond.net/packages/SublimeLinter-jsxhint) * [TrailingSpaces](https://sublime.wbond.net/packages/TrailingSpaces) * [Tomorrow Color Schemes](https://sublime.wbond.net/packages/Tomorrow%20Color%20Schemes) My user preferences: https://gist.github.com/paltman/42003496d182164bbfd0 ---- **GitHub for Mac** I am a long time user of [GitX(L)](http://gitx.laullon.com). My only use case for a GUI is to build up commits. I find it much easier to click on lines to add to a commit than to use the command line utilities. Other than that one use case I am a big fan of just using the command line. Instead of *GitX (L)* I am giving [GitHub for Mac](https://mac.github.com) a try. The selecting of lines to commit seems a bit smoother. ---- **Safari** I was a big user of Chrome previously but want to give Safari a chance to be my default browser. I am a heavy user of Trello and one thing that I am noticing missing are the styles I had for Trello from http://userstyles.org. I found [Stylish](http://sobolev.us/stylish/) which allows me to install two styles that brings back the [card numbers](https://userstyles.org/styles/79880/trello-card-ids-small) and [list counts](https://userstyles.org/styles/89343/trello-card-count).