How to separate work projects on Mac?
I am currently working on very different projects, from multiple software projects (where I spend most of my time in the shell, using zsh and vim) to writing (vim + some other tools) to consulting (some shell, a lot of Firefox). In all cases I need some browser running.
What I really love is having separate histories and sessions both in the shell and in my browser.
For now what I ended up doing is:
* use the same mac user
* [works ok] use iTerm profiles, and set different environment variables / launch commands for each iTerm profile notably to change shell history files
* [works ok but needs trickery] use tmux + plugins + iTerm for saving shell sessions
* [works bad] separate Firefox profiles.
I wonder what other people are doing on that?
From where I stand, I feel like using separate Mac users for each project is the best bet, as per simplicity. I feel it'll have the added interest of better psychological separation of projects (different desktop, etc.). But will need a heavier setup (notably: synching dotfiles). Different logins is also great for organizing software installs. You'll never wonder which project needed Python 2.7 or something, as long as you installed it for just one user for a specific project. Personally I use separate computers for contracting and fun personal projects, which helps me keep a more professional focus. Did you consider having each project in its own virtual machine or container? On the browser side, you could use Chrome for project A, Firefox for project B, Safari for project C, etc. Thanks for the idea. For me that's not an optimal solution for 2 reasons: * I care about using the same tools and having a consistent environment. Vagrant (for example) is awesome for building when you want to mirror a production machine, but not that great for other use cases. In my case, I would have my Mac shell for everyday use + a vagrant-based Linux shell for my software projects, so that makes two different OSes to play with… If my project doesn't require that, I would prefer not increase my "OS contact surface" :) * I only want to use Firefox if possible