As with most folks, I've worked on a number of various projects here and there. Many of those projects relied on bleeding-edge code that isn't available in the fedora update repositories, along with a various number of environment variables. For example, when developing against a newer version of glib I'd want to set these when building and running against it:
Far often enough, I would also be working on various python projects with specific module requirements. To ensure that installing these packages doesn't conflict with my local system, I used a virtualenv for each project.
Both of these tasks get rather tedious, and I'm a big fan of disposable, short-lived terminal tabs.
Furthermore, I wanted to be able to very easily sync my environments between my desktop, laptop, and server environments with minimal effort.
buildenv is an overly-complicated set of bash scripts that can do wonderful things for your workflow if you don't look too closely. You can visit the github page for more documentation, but here's a brief overview of what it can do: