I have several different environments I work in, and several different sets of dot-files I use in each.
Consider the example (simplified scenario). I have 3 environments:
and I have some dotfiles, which I want to replicate in different environments.
.tmuxrc--> work-desktop, work-server, home-desktop
.subversion/--> work-desktop, work-sever
- A different
.zshrcfor each of work-desktop, work-sever and home-desktop
.vimrcfor work-desktop and work-server, and another
Later I might like to change thing so that, I have one
.vimrc for everywhere (when I update my homeone to use vundle, and unbreak vim's python compat at work).
Must support specifying different files for different environments
Must support some files being shared across some environments
Must avoid me having to manually copy files and then symlink them back
Should commit to version control when triggered
Should pull from version control when an update is called.
Should support git
Would be nice if it supported other version control (like SVN, and Hg)
Would be nice if its config file for specifying which files got to which environments took a list of hostnames, but other solutions to the exist.
Don't care if it is dependent on anything (A lot of .dotfile management tools i looked at advertised not being dependent on anything but the shell)
Must work on all flavours of Linux (but I don't really care about Mac).
Must be Free and Open Source.