I was lucky enough to recently get a shiny new 15″ MacBook Pro Unibody for work. The specs are killer: 2.66GHz Intel Core 2 Duo, 500GB HDD , 8GB RAM, etc. As always with a new machine there’s plenty to configure and install. Here’s what I did to my Snow Leopard machine:
First things first: After I set up my new account I ran all System Updates.
64-bit Snow Leopard – I wanted to get the most out of the machine so I enabled 64-bit mode. I did this at the very beginning to see what apps I may have issues with as I install them. I always boot into 64-bit mode by editing the config file as shown here. The great thing is: after all was said and done I only had one issue.
Multi-Boot Prep – I resized the root partition and installed ReFIT for later on when I want to double or triple-boot
Terminal Modifications – The default terminal settings are crappy. Here’s what I did:
- Fix Terminal Colors
- ~/.profile additions:
- export CLICOLOR=1
- export LSCOLORS=ExFxCxDxBxegedabagacad
- Fix Terminal key bindings
- Open up Terminal.app and go to Preferences (Cmd+,)
- Find the Keyboard tab for your settings
- All these changes should be “send string to shell”
- Home: type in ctrl+a
- End: type in ctrl+e
- PageUp: Set the string to \033[5~
- PageDown: Set the string to \033[6~
MacFUSE - Gotta have sshfs - I use this all the time to get into my Linux boxes.
- MacFUSE (http://adavidchan.com/macfuse-on-snow-leopard-64-bit-mode)
- MacFusion (http://rackerhacker.com/2009/08/28/fix-macfusion-on-snow-leopard/)
General Software -
- Install MacPorts (I like everything clean and separate from the Apple stuff)
- sudo port install wget (cURL is fine for some things, but I'm a wget kinda guy)
- Parallels Desktop 5 (btw: All my VMs are like butter with 8GB RAM)
- iStat Menus (if only for a better looking date & time display in the menubar)
- Textmate
- Firefox and Addons:
- Speed Tweaks
- AdBlock Plus
- Greasemonkey
- Delicious
- BugMeNot
- Google Gears
- Remote Desktop
- Growl
- Adobe AIR
- Seesmic Desktop (My FB and Twitter Client)
- Google Notifier for Calendar and EMail
- Google Earth
- Picasa
- Evernote
- Skype
- OpenOffice
- Chicken of the VNC
- VLC
- Handbrake
Development Software - Here's what I've set up to get hacking on code:
- Versions
- NetBeans 6.8
- PgAdmin
- Git / SVN: sudo port install git-core +svn
- Postgres Server 8.3 from MacPorts
- sudo port install postgresql83 postgresql83-server
- sudo mkdir -p /opt/local/var/db/postgresql83/defaultdb
- sudo chown postgres:postgres /opt/local/var/db/postgresql83/defaultdb
- sudo su postgres -c '/opt/local/lib/postgresql83/bin/initdb -D /opt/local/var/db/postgresql83/defaultdb'
- sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql83-server.plist
- Add to ~/.profile: export PATH=$PATH:/opt/local/lib/postgresql83/bin
- Install Ruby, Ruby Gems, Rails and Passenger
- sudo port install ruby rb-rubygems
- sudo gem update --system
- sudo env ARCHFLAGS="-arch x86_64" gem install pg
- sudo gem install rails passenger passenger-install-apache2-module
- add the following lines to /etc/apache2/httpd.conf:
- LoadModule passenger_module /opt/local/lib/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so
- PassengerRoot /opt/local/lib/ruby/gems/1.8/gems/passenger-2.2.5
- PassengerRuby /opt/local/bin/ruby
- Install Passenger Pref Pane
- sudo port install rb-rmagick
- Create ~/.irbrc with the following in it:
- require 'pp'
- require 'rubygems'
- require 'irb/completion'
- require 'irb/ext/save-history'
- IRB.conf[:SAVE_HISTORY] = 100
- IRB.conf[:HISTORY_FILE] = “#{ENV['HOME']}/.irb-save-history”
- IRB.conf[:PROMPT_MODE] = :SIMPLE
- Textmate Bundles and Fixes
- mkdir -p ~/Library/Application\ Support/TextMate/Bundles
- cd ~/Library/Application\ Support/TextMate/Bundles
- git clone git://github.com/drnic/ruby-on-rails-tmbundle.git “Ruby on Rails.tmbundle”
- mkdir -p /Library/Application\ Support/TextMate/Bundles
- cd /Library/Application\ Support/TextMate/Bundles
- git clone git://gitorious.org/git-tmbundle/mainline.git Git.tmbundle
- git clone git://github.com/alkemist/groovy.tmbundle.git Groovy.tmbundle
- git clone git://github.com/alkemist/Groovy-Grails.tmbundle.git Groovy-Grails.tmbundle
- Commented out line 169 in /Applications/TextMate.app/Contents/SharedSupport/Support/lib/tm/process.rb
- Added PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin to Preferences -> Advanced -> Shell Variables
- osascript -e ‘tell app “TextMate” to reload bundles’


You getting a new one? They are pretty slick.
When I buy my new MacBook, I may need to have you pimp my ride. Miss you guys. Hope all is well