modules are the best thing since sliced bread

So my shell configuration files finally imploded badly this weekend. I’ve copied around the same set of configuration files for a couple of years now (since starting to work in the LSC at Notre Dame). Over time, they have grown to immense, incomprehendable proportions. Lately, I’ve been working on two different versions of the exact same interface (OMPI and LAM, MPI). Both with the same commands, both with the same library name, etc. In order to keep everything straight, I’ve had a couple of aliases that do evil things to hack up my path so that which ever project I was working on at that time was in my PATH, MANPATH, LD_LIBRARY_PATH, etc. It was evil.

So I ripped it all out and started over this weekend, using the modules package as the core of my configuration. Which has the advantage of making life a hell of a lot easier when I have to use a machine without tcsh as my default shell (and such machines do, unfortunately, exist). Anyway, my shell configuration is now much smaller and much more modular (har, har). The code for setting up my Autotools installation is in one place, the code for initializing Fink (when I’m on OS X) is in another, etc. Oh, and switching between LAM and OMPI is trivial.

Anyway, life is now at least 2.74% better, all at the cost of a weekend of productivity…