Arguably, tools and dependency management is better on a linux platform.
I've found (recently) that working in a VM is the right thing (tm) to do even on a *nix platform. It helps keep your development environment completely segregated and your "desktop" OS clean as well. Since nautilus has built in support for mounting a drive over SSH, and it is very doable on os x using something like MacFusion, the desktop OS just becomes a window into your development environment and becomes mostly secondary.
Arguably, tools and dependency management is better on a linux platform.
I've found (recently) that working in a VM is the right thing (tm) to do even on a *nix platform. It helps keep your development environment completely segregated and your "desktop" OS clean as well. Since nautilus has built in support for mounting a drive over SSH, and it is very doable on os x using something like MacFusion, the desktop OS just becomes a window into your development environment and becomes mostly secondary.