Why not just run Linux locally? Mac OS X is BSD, not Linux, which means its build tools & environment are subtly incompatible. You're always going to be chafing if you develop anywhere other than in your deployment environment. Linux is superlative for desktop & development use. It supports things like tiling window managers far better than does a Mac. It's free. The hardware is far more affordable. Although this is…
There's simply a large number of high quality tools which are not available for Linux, which means that you have to resort to an open source tool which, while decent (and sometimes even fantastic), are still nowhere near the quality of many closed source tools.
I wish this would change, and I do what I can to make it change, but the simple reality is that depending on the tools you want to (or need to) use, Linux is behind the game.
That said, I agree wholeheartedly with your very first statement: Why not just run Linux locally? Except, I would recommend a local VM. Best(ish) of both worlds.