These commands are good as of 2011-07-27.
App store http://itunes.apple.com/us/app/xcode/id448457090?mt=12) The download/install takes awhile so start it first. When it finishes downloading you will still need to run it to complete installation.
iTerm2 http://www.iterm2.com/
Really the nicest choice for a terminal on OSX right now, especially with Lion style full screen support.
Solarized color scheme http://ethanschoonover.com/solarized
I feel there is an advantage in setting all your dev apps to use a consistent color scheme, especially your terminal and text editor/dev environment.
Homebrew http://mxcl.github.com/homebrew/
ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
Note that Xcode is a pre-req for Homebrew
brew install wget
wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
restart iTerm2
brew install git
http://help.github.com/mac-set-up-git/
Copy over your SSH Keys from your existing machine if you have them and want to carry over your existing SSH configs.
bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.
Start new shell session
rvm install 1.9.2
rvm install 1.8.7
rvm notes
See if there is anything in the rvm notes you need to take action on. As of this writing the compiler needs to be overridden. Create a .gemrc file and add the line gem: --no-ri --no-rdoc
rvm --default 1.8.7
rvmsudo gem install bundler
rvmsudo gem install rails
curl get.pow.cx | sh
Get a DMG based and pre-compiled install from http://www.mysql.com/downloads/mysql/
I have a preference for installing things from binaries and installers when possible. Even for developer tools. This is a principle for me, that things should be designed to be as simple and repeatable as possible. Repeatability is the most important aspect for development process. The habit of building everything from source has deep root in Unix world that we can't change, but on the Mac it is not necessary and I would argue adds time and complexity that thousands of people have to endure. If you consider total load of time and effort on the human race, as you always must do when building something many people will consume, you should come down on the easy and fast side.