How do you guys manage ubiquitous configs?

I’d like some fundamentals to be consistent across all vms. By means of salt I’ve gotten some tools to be installed in all of them: xterm, vim, tmux

Now I’d like some configs to be the same everywhere: Xresources, vimrc, tmux.conf, bashrc, my terminal font, some convenience scripts, etc

I could use salt or some skel feature to copy files around, but what I’d rather like is for them to update live. So something like a blockdev that’s read/write in dom0 and readonly in all domUs.

I could try a simple loopdev, but I don’t know enough about the internals to be sure that it won’t mangle anything, even if the blockdev is only writable “one place”

So, do I have to reach for a cluster fs or something? Seems a bit overkill for something this simple. qemu has something called 9pfs, which seems to fit the bill from what I just read about it. Or any lvm trickery I can pull?

Anything for this in qubes? Can’t be that esoteric a use case. How do you guys handle this?

What did you end up doing?

Personally, I’ll create a file in /etc (or somewhere else appropriate) and source that file from my user config file in each AppVM. This does require per-VM setup so it’s not completely automatic, but honestly I’m more comfortable with things being less automatic (especially for disposable VMs where config files could be useful for fingerprinting), and this minimizes the amount of effort required to set up.

1 Like