View of London

I spend quite some time every day in front of my computer(s), and in time my bash and Emacs configuration files grew bigger and bigger, as I tried to improve my work environment. If you use bash and/or Emacs on a regular basis, you might find them useful. I do :-).

GNU Bash

The configuration of GNU Bash consists of three files: .profile, .profile2, and .sitedep. All you need to do is place these files in your home directory and modify the variables in .sitedep to match your local settings.

The reason for having a .profile2 is speed. A large configuration file will slow down bash at startup, so it makes sense to move the things that need only be parsed once in a file that is sourced only when $SHLVL is 1.

The stuff that has to go in .profile is something that we need to parse every time a new instance of bash is created - maybe you did a su and some parameters changed (PATH, etc). Note that $HOME/.bashrc will be linked to $HOME/.profile - if you have something of value there make sure you make a copy before installing these files.


Emacs is my preferred work environment. I basically live in it, I start Emacs when I log in, I quit Emacs when I log out. I use both GNU Emacs and XEmacs, and my .emacs is capable of handling both, trying to hide the differences among them (when possible). I read my mail with VM, and so a significant part of .emacs deals with that.

If you want to make full use of Emacs, I suggest you start saving your Emacs desktop by typing M-x desktop-save the first time you start Emacs after installing my .emacs. This way, even if you quit Emacs, it will remember the files you had in your previous session, as well as the history of all the things you typed in the minibuffer.