Contextual provides profiles support for Emacs.  Switching between contexts
sets global variables and runs hooks to reflect switching the user's identity
or the working environment.