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.<p>What I really love is having <i>separate histories and sessions</i> both in the shell and in my browser.<p>For now what I ended up doing is:<p>* use the same mac user<p>* [works ok] use iTerm profiles, and set different environment variables / launch commands for each iTerm profile notably to change shell history files<p>* [works ok but needs trickery] use tmux + plugins + iTerm for saving shell sessions<p>* [works bad] separate Firefox profiles.<p>I wonder what other people are doing on that?<p>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.<p>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?<p>On the browser side, you could use Chrome for project A, Firefox for project B, Safari for project C, etc.