Hi all,

A while back I was discussing the whole VCS-home stuff with a friend, and we
came to the conclusion that there are some real issues with storing dotfiles
in a repo.  Things like passwords, or company/machine specific paths,
internal hosts, etc, can complicate the issue quite a bit. This is
particularly true of simple programs that use single, flat, text files for
rcfiles. It is very frustrating when you have a file that is 98% the same
across hosts, but those differences between the instances are dangerous to

In the programming world, we of course solve this by just putting the
sensitive values in a different file, and don't keep it under version
control. This is sort of the origin of the whole config file concept to
being with :).  Programming languages tho, have the idea of include/import,
and file reading, and variables, so this becomes easy. This got me thinking:
what if we could make config files arbitrarily composable?

The result of this thinking, plus some experimentation and coding is dotfuse
( https://github.com/sophacles/dotfuse ) which is a little fuse filesystem
written in python, that turns directories containing multiple files (in the
form of jinja2 templates) into a single dotfile on write to the mounted fs.
The backend datastore is a different directory, which can then be kept in
vcs, excluding of course the dangerous bits we put in .gitignore (or

I should note, this is still pretty new, and very experimental -- don't keep
real data here! But I sure would appreciate your thoughts, bugfixes, etc on

vcs-home mailing list

Reply via email to