First things first...
- Swap Control and Caps Lock in System Preferences -> Keyboard -> Modifier Keys
- Google Chrome http://www.google.com/chrome/
- iTerm2 http://www.iterm2.com/
- Oh my zsh https://github.com/robbyrussell/oh-my-zsh/
- XCode (from the mac app store)
- XCode command line tools (run XCode, go to Preferences -> Downloads -> Command Line Tools)
- Homebrew https://github.com/mxcl/homebrew/wiki/installation
Fire up your database
- Edit /etc/paths to put /usr/local/bin on top, so that lion's psql doesnt win
Install postgres and init the db
brew install postgres initdb /usr/local/var/postgres
Add aliases to your shell for spinning postgres up/down (and while we're at it, put brew's python packages on the path so we can run mapnik later and tell zsh not to autocorrect a couple things)
alias postgresup='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start' alias postgresdown='pg_ctl -D /usr/local/var/postgres stop -s -m fast' export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH alias mvim='nocorrect mvim' alias rbenv='nocorrect rbenv'
Okay, now install the GIS fun after postgres is happy
brew install gdal --with-postgres brew install postgis
(creating geo databases got easier, no need to install the templates, see http://postgis.refractions.net/documentation/manual-2.0/postgis_installation.html#create_new_db_extensions)
Higher-level GIS tools
Tap the homebrew/science repo and build QGIS
brew install libspatialite brew tap homebrew/science brew install qgis --with-grass --with-postgis
Follow the instructions to make it a pretty bundle...
brew install mapnik
And of course, you must have virtualenv
Get pip, if you haven't already, then vitrualenv. And then virtualenvwrapper (http://virtualenvwrapper.readthedocs.org/) cuz its awesome. (Adding the setup to the end of my .zshrc, use .bash_profile or whatever if you like.)
sudo easy_install pip sudo pip install virtualenv sudo pip install virtualenvwrapper echo 'source /usr/local/bin/virtualenvwrapper.sh' >> ~/.zshrc
Get rbenv (https://github.com/sstephenson/rbenv).
Note, I'm modifying my .zshrc cuz I do zsh. You'd do your .bash_profile if you're normal.
brew install rbenv brew install ruby-build echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(rbenv init -)"' >> ~/.zshrc
You'll want to open a new shell to get that stuff we just put on your path. Here's how you see what fancy new ruby versions you can install, and how to get one w/ rbenv:
rbenv install rbenv install 1.9.3-p194
Other tools I love
- TileMill http://mapbox.com/tilemill/
- macvim (Trying vim. We'll see how this goes.) http://code.google.com/p/macvim/
- iStat Menus http://bjango.com/mac/istatmenus/
- The Unarchiver http://wakaba.c3.cx/s/apps/unarchiver
- CrashPlan http://www.crashplan.com/
- Divvy http://mizage.com/
- BusySync http://www.busymac.com/busysync/ (Not necessary for dev, but necessary for keeping Google Calendar and Exchange in sync.)
- Skype (direct download link) http://www.skype.com/intl/en-us/get-skype/on-your-computer/macosx/post-download/
re: "Edit /etc/paths to put /usr/local/bin on top, so that lion's psql doesnt win"
Which end of one's path is the top? I should know this, but I don't. I'm just guessing I'm not the only one...
EDIT: oh! I didn't know how OS X did the path thing. /etc/paths is a text file that is literally a list of paths, so the top is well, the top of the file!