I'm an environmentalist (in the computer sense), meaning I'm a bit OCD about how things on my machines are organized, etc. I decided to write up the main steps I took after doing a fresh reinstall of OS X a few days ago.
This doesn't cover basics such as installing all applications you use, but rather only the stuff that I would tend to forget when doing a reinstall. Most of the .app's I use are listed on iusethis (thanks to Appfresh, which also keeps them up to date) and here is a list of my installed MacPorts packages.
Initial steps
- Complete a full OS X re-install
- Install X11 (it's on the install DVD)
- Do a full System Update, rebooting as needed
- Download and Install Xcode (the version online is newer than the copy on my DVD)
- Remove the need for a password to
sudo
$ sudo visudo # Change the %admin line to %admin ALL=(ALL) NOPASSWD: ALL
System Preferences
- Desktop & Screen Saver
- Disable translucent menu bar
- Make bottom right a hot corner to start screensaver
- Dock
- Shrink size a bit and position on the left
- Disable animation of opening applications
- Security
- Enable require password to wake computer
- Disable automatic login
- Spotlight
- Disable spotlight keyboard shortcuts
- Bluetooth
- Disable
- Don't show Bluetooth status in the menu bar
- CDs and DVDs
- Set all to Ignore
- Displays
- Don't automatically adjust brightness
- Energy Saver
- Disable automatic reduction of display brightness in both Adapter and Battery modes
- Keyboard and Mouse
- Maximize key repeat rate and minimize delay
- Use F-keys as standard function keys
- Disable illumination of keyboard
- In Keyboard Shortcuts set Tab to move between all controls
- Sound
- Disable sound effects, feedback, and front row effects
- Disable showing volume control in menu bar
- QuickTime
- Disable playing movies automatically
- Sharing
- Give your machine a better hostname
- Date and Time
- Set date & time automatically
- Set Time Zone
- Uncheck showing day of the week
- Software Update
- Check for updates daily
- Time Machine
- Don't show Time Machine status in the menu bar
- Enable with your disk of choice
- In Options add
/Systemto ignore list, choose "Ignore all system files" (you will be prompted) - Add
~/Documents/Virtual Machines,/optand any P2P directories to ignore list
Install Quicksilver
- Download and install
- Install iTunes plugin
- Set Hot Key to
Command + Space - Preferences
- Start at login
- Warn before quitting
- Enable advanced features
- Don't show icon in the dock or menu bar
- Check for updates daily
- Add
/Developer/Applicationsas a custom Catalog
Clean up the Dock
- Remove all icons in the dock (I use it like a task bar and launch with Quicksilver)
Install audio / video codecs
Install Xquartz
- Download and install the latest Xquartz
Install TerminalColours
- Download and install SIMBL
- Download TerminalColours
- Unpack the bundle to ~/Library/Application Support/SIMBL/Plugins
- Quit and relaunch Terminal.app
- Make a new (it has to be new!) configuration in Preferences
- Set the colors to your liking under the "More" button of the Text tab, close the settings and completely quit Terminal to save
Terminal.app preferences
- Shell tab
- Prompt before closing only if there are processes other than:
bash
- Prompt before closing only if there are processes other than:
- Keyboard tab
- Turn on "Use option as meta key"
- Bind cursor left + option to
\033b(escape + b) - Bind cursor right + option to
\033f(escape + f) - Bind cursor left + control to
\001(control A) - Bind cursor right + control to
\005(control E)
- Advanced tab
- Turn on "Delete sends Ctrl-H"
- Turn off "Escape non-ASCII characters"
- Turn off "Audible bell"
- Turn on "Visual bell"
Install MacPorts
- Download and install the package then launch a new terminal
$ port # If it says command not found add the following to ~/.bash_profile export PATH=/opt/local/sbin:/opt/local/bin:$PATH export MANPATH=/opt/local/share/man:$MANPATH # Sync and check for any MacPorts updates $ sudo port -v selfupdate
Install Python
$ sudo port -v install python25 py25-bsddb py25-bz2 py25-curses \ py25-gdbm py25-hashlib py25-readline \ py25-socket-ssl py25-sqlite3 py25-zlib $ cd /opt/local/lib/python2.5/site-packages/ $ for x in *.so; do sudo ln -s /opt/local/lib/python2.5/site-packages/$x \ /opt/local/lib/python2.5/lib-dynload/$x done # The above fixes a MacPorts quirk that breaks virtualenv
Install ack
$ wget http://ack.googlecode.com/svn/tags/latest/ack-standalone $ sudo mv ack-standalone /opt/local/bin/ack $ sudo chown root:admin /opt/local/bin/ack $ sudo chmod +x /opt/local/bin/ack
Add ssh passphrase to Keychain
# This assumes you already have your private key in ~/.ssh $ /usr/bin/ssh-add -K
Symlink /home to /Users
$ sudo vi /etc/auto_home # Comment out the +auto_home line $ sudo vi /etc/auto_master # Comment out the /home line $ sudo umount /home $ sudo rm -rf /home $ sudo ln -s /Users /home
Install PostgreSQL
$ sudo port -v install postgresql83 postgresql83-server $ sudo mkdir -p /opt/local/var/db/postgresql83/defaultdb $ sudo chown postgres:postgres /opt/local/var/db/postgresql83/defaultdb $ sudo -u postgres /opt/local/lib/postgresql83/bin/postmaster -D \ /opt/local/var/db/postgresql83/defaultdb # Tune sysctl $ sudo vi /etc/sysctl.conf # Add the following kern.sysv.shmmax=536870912 kern.sysv.shmmin=1 kern.sysv.shmmni=32 kern.sysv.shmseg=16 kern.sysv.shmall=65536 kern.maxvnodes=1000000
Disable writing .DS_Store files on network mounts
$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true
Enable developer tools in Safari
$ defaults write com.apple.Safari IncludeDebugMenu 1 $ defaults write com.apple.Safari WebKitScriptDebuggerEnabled -bool true $ defaults write com.apple.Safari WebKitDeveloperExtras -bool true
Only show running apps in the dock
$ defaults write com.apple.dock static-only -bool TRUE
Open Targeted links in tabs, not windows (Safari)
$ defaults write com.apple.Safari TargetedClicksCreateTabs -bool true
Show filesystem paths in Finder
$ defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES
Firefox settings
# In about:config I set the following options browser.search.openintab = true network.proxy.socks_remote_dns = true
Snow Leopard font hint fix
$ defaults -currentHost write -globalDomain AppleFontSmoothing -int 2
Fin.