Some time ago I switched to Mac OS X for my day to day work, using Windows only in a virtual machine for when I absolutely needed to use Visual Studio.
I just got a new 15″ MacBook Pro as part of an initiative to roll my entire team over to Mac as our day to day platform (story for another day) and thought I would document my setup for their benefit (and anyone else’s).
Step 1 – System Settings
Updates – Do Software Updates until you can’t do any more.
Seriously. Just get it out of the way now.
The equivalent of “lock workstation” from Windows
- Open System Preferences
- Choose “Desktop & Screensaver”
- Choose “Screen Saver” at the top
- Go to “Hot Corners” and set a corner to activate screen saver
- Go back to System Preferences and choose Security
- Under “General” check “Require password to wake…”
- Check “Disable automatic login”
That done, you roll your mouse to your hot corner, activate the screen saver, and your station is locked. No getting goated!
I like my trackpad a certain way. Tap to click, and tap two fingers to “right-click”. These settings are found in System Preferences under Trackpad
I don’t like to see my dock, so I make it small and auto-hide. I also remove all applications from the dock so that at any given time the only ones there are the ones that are active.
If you use Github regularly, then on a new machine you will need to generate your SSH key and set it up in GitHub. Follow the instructions on your account page.
Step 2 – Critical Software
To get up and running immediately, I install the following:
- Xcode – Get it from the OS disk. Do it first since gems stuff needs it. Later, sign up for ADC and get the iPhone SDK too. Also MacRuby.
- AppCleaner – I like this for doing “uninstalls” and keeping down orphaned file bloat.
- Install a launcher. I like Quicksilver
- Adium – Chat/IM/IRC (though I use Colloquy for IRC). Let Adium install Growl.
- TextExpander – Awesome snippet tool. Add the HTML and CSS bundles from the preferences if you do web work. Add the symbols and accented words bundles too.
- TextMate – My editor of choice for most things.
- RazorSQL – Manage SQL Server, SQLite, MySql, and many more in this excellent free tool.
- Dropbox – for syncing to multiple machines and sharing with people
- Mono and MonoDevelop – Doing a lot more of my .net work in MonoDevelop as time goes on. Launching that Windows VM less and less.
- Git for OS X
- VMWare Fusion – I keep a Vista VM on a separate drive to use when I need it. Running your VMs on an external drive seems faster (slower to start up) for some reason.
I use a lot more in terms of software, but this is the base package needed to get up and running and be productive at work.
Step 3 – Ruby and Rails setup
Setting my rails environment up fresh is a nice couple of minutes of command line goodness. Fire up terminal and do the following:
- gem update –system (update the preinstalled stuff)
- gem sources -a http://gems.github.com (add github to gem sources)
- gem install rspec
- gem install rspec-rails
- gem install cucumber
- gem install webrat
- gem install wirble
- gem install nokogiri
- gem install ZenTest
Next, I edit ~/.irbrc in my favorite editor and make it look like so:
require 'rubygems' require 'wirble' Wirble.init Wirble.colorize alias q exit
This puts rubygrms and wirble into irb, wirble providing you things like colorizing, history, tab-completion and more. The alias q exit bit is so that q will exit irb for me, giving it a kind of vim-y feel. This is optional.
Step 4 – TextMate Bundles
Being a big TextMate user, I install the following bundles right away:
The easiest way to get these installed is to create the Bundles directory if it doesn’t exist:
mkdir -p ~/Library/Application Support/Textmate/Bundles/
then go to that directory and start git-cloneing the bundles. Each should have the git-clone command on their readme or wiki.
A handy snippet when installing bundles is a little script that will tell TextMate to reload bundles without you having to do it manually:
osascript -e 'tell app "TextMate" to reload bundles'
Other applications that I find useful and install after all of the above:
- Colloquy – IRC
- Cyberduck – FTP
- MarsEdit – Blogging
- TweetDeck – Twitter
- Evernote – Note keeping and lists. Syncs with the Evernote on my iPhone. Life is good.
- Appshelf – App to keep your registrations and serial numbers all in one place. Nicely done.
- iStat Menus – System Monitoring in the Menu Bar
- VLC – Plays like…any media format. Seriously.
- Skype – You know…for skype stuff