OS X Setup

, Nov 19, 2005

I recently setup my PowerBook from scratch again; some quick notes, basically for myself but maybe useful for others. I will update it as I add more and more stuff I had but didn’t remember to move initially.

Mac OS X Tiger installation

  • Remember to select “Customize”
  • Deselect printer drivers I don’t need
  • The same for unnecessary languages
  • Select X (it doesn’t hurt)
  • Start installation
  • Install Developer Tools (XCode) from Tiger install DVD
  • Perform Software Update
  • Reboot

After the reboot, I make some customizations:

  • By default, the computer name is set to some default such as “User Name’s PowerBook G4”. The place to change this is the Sharing preference pane.
  • I have no use at all for Dashboard, so I make sure it wastes no memory or CPU cycles:

    defaults write com.apple.dashboard mcx-disabled -boolean YES

    killall Dock

  • I don’t care much for Spotlight, either. While I still make up my mind whether it’s going to share Dashboard’s fate, I make sure that I have one folder (in my case, it’s ~/tmp) that is neither indexed by Spotlight nor catalogued by QuickSilver.

  • Change F1-F12 to control software features (in Keyboard preferences); this enables the function keys to work as you would expect them to (which means without having to press Fn. This makes sense on a notebook only.)

Applications

Next, I install my favorite applications:

  • QuickSilver, the most important tool of all. Without it, I can not really use a Mac anymore. I set the Spotlight hotkey to something different and use Command-Space to invoke QuickSilver
  • iTerm, my Terminal replacement of choice
  • Emacs, as provided by Apple. Make sure to remove Contents/Resources/site-lisp/site-start.d/carbon-emacs-japanese-*.el unless you’re Japanese.
  • MenuMeters, a menubar extension that displays essential system information; I’ve become so used to it that something feels wrong if I use a Mac without it.
  • Eclipse; the version 3.2 milestones work fine for me.
  • DarwinPorts has replaced Fink for me; it provides easy access to command line and other Unix tools
  • ecto, the excellent blogging client I use to write this entry
  • NetNewsWire, my RSS/Atom news reader
  • Adium, multi-protocol IM client
  • Firefox, seldomly used here, but useful to have around if pages don’t work in the browsers I usually use
  • goPod, to remove the stupid EU volume limit on my iPod after each firmware update
  • getTunes, to get music off other running iTunes installations on a local net
  • JHymn, to remove Apple’s DRM
  • Microsoft Office, to remain compatible with the rest of the world (sigh)
  • Lotus Notes, although I don’t use it very often anymore (I access our Domino server via the Web or through IMAP/POP)
  • MPlayer OS X, multi-format video player
  • OmniDiskSweeper, to find huge and useless files
  • OmniGraffle, the world’s best diagramming tool
  • OmniWeb, the world’s best Web browser
  • OmniOutliner, seldomly used, but comes as part of Omni’s productivity package
  • RealPlayer, not sucking that much on the Mac
  • TypeIt4Me, a nice way to save on keystrokes
  • Skype, for being able to those who like it
  • Windows Media Player, to play stuff encoded wrongly.
  • Cocoalicious, a del.icio.us client
  • CocoaMySQL, a database UI for MySQL

Restoring Settings

Most decent Mac OS X applications keep their settings somewhere under ~/Library/Application Support. For NetNewsWire, ecto, and Adium, copying the respective subdirectories to a new installation works perfectly; this is how I move stuff from my old installation to a new one.

Miscellaneous Packages

OS X comes with almost every command line tool you need to be productive. Via DarwinPorts, I add

  • subversion
  • openssh (I had some timeout problems with the ssh bundled by Apple)
  • rb-rubygems (as a pre-requisite for Rails)

Other stuff

Lock screen

One of the few things I missed from Windows was the ability to lock the box via a simple key stroke. Putting

/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend

on a QuickSilver trigger does the trick.

Virtual hosts

OS X comes with Apache pre-installed, the easiest way to enable it is to switch on “Personal Web Sharing” in the Sharing preferences pane. To simplify sandboxed Web development, I use a very neat script called “virtualhost.sh” which you can get here; it essentially turns setting up a new virtual host including a host name entry into a 0.5 second affair.

MySQL

MySQL is now trivially easy to set up on OS X, since there’s a Mac installer package. If it doesn’t actually have to serve any DBs, it consumes almost no resources, so I just leave it up and running (i.e. I install the startup item and the preference pane). Changing the root password is mandatory, the easiest way I have found is:

 /usr/local/mysql/bin/mysql -u root
set password for root@localhost=password('whatever');