hprofile is a set of Bash shell scripts that help you manage profiles on Linux. Examples could be:
The possibilities really are endless. hprofile makes it very easy to define a "profile" consisting of a group of configuration (or other) files, anywhere in the file system, switching them around with a single command. You can also run arbitrary scripts when profiles are applied or "stopped", to start or stop services or configure your hardware. Individual users can even define their own files (in their home directory) to be switched and scripts to be run, to react when profiles are changed.
Best of all, hprofile is deceptively simple to use. Each type of profile has a directory where you define which files are to be switched around simply by naming them with a suffix of ".<profile name>" in a directory hierarchy which mirrors the rest of the file system. Scripts to be run when profiles are applied or "stopped" are kept in a separate directory, and all you need to do to make sure the script is run at the appropriate time is to name it "<profile name>.start" or "<profile name>.stop". The tarball comes with plenty of examples and a comprehensive manual (in the README file) to get you started.
Please see the FAQ and the README file for more details on what hprofile can do and how to do it.