Конфиги в $HOME
Вот уже больше чем пол года (а точнее с Mon Aug 11 20:34:22 2008 +0300) часть конфигов и прочие мелкие скриптики из $HOME/bin у меня лежат в Mercurial репозитории.
Непосредственно version controlled файлы/конфиги лежат в ~/.config/_managed. Там же лежит и скрипт, который для этих версионированных файлов/катаогов создает симлинки в $HOME. То есть $HOME/.zshrc — это симлинк на ~/.config/_managed/.zshrc.
Плюс имеется cron job, который напоминает письмом, если что-то было изменено и не закоммичено.
Выглядит всё это достаточно удобно. Единственное — при создании конфигов руками нужно “помнить”, что их нужно ложить не в $HOME.
Кроме просто версионирования, обычным hg clone привычные конфиги легко переносятся на другой хост.