This is the README file in the top level of my home directory. I keep the entire directory tree under version control, using Subversion , and publish it on the Web here: http://svn.red-bean.com/repos/kfogel/trunk/ [direct SVN browse] http://svn.red-bean.com/viewcvs/kfogel/trunk/ [browse via ViewVC] I publish the tree so other people can copy anything they find useful, particularly code from my .emacs file, snippets from which have found their way into the .emacs files of many friends and some strangers. Private data, such as my .ssh/ and .gnupg/ directories, are not kept in this repository. I keep them in a completely separate, secure repository, and check out a working copy from there immediately after checking out this tree onto a new computer. I then recursively copy .ssh/, .gnupg/, and other private directories into their proper locations within my home tree, and run a script to set their permissions appropriately. Copying the subdirectories out like that works because Subversion handles such partial working copies well, even when they are embedded in other, unrelated working copies. If you would like to know more about why someone would put their home directory under version control, or how to do it, these two articles might help: * "Keeping Your Life in Subversion", by Joey Hess http://www.onlamp.com/pub/a/onlamp/2005/01/06/svn_homedir.html * "Keeping $HOME (or /etc) in Subversion", by ToyKeeper http://www.toykeeper.net/tutorials/svnhome -Karl Fogel