Here is an interesting article which explains another way to store dotfiles.
In a couple of words:
- store dotfiles into a git repository
- clone your git repository using a bare more and make working directory pointing to ${HOME}
- use dotfiles directly from the repository (without symbolic links)
The only disadvantage is that all dotfiles must be inside one repository. It is not scalable approach in that sense that typically configuration files for the different programs are splitted into multiple repositories. Using multiple repositories helps to effective share particular configurations.
That’s why using symlinks and maybe some tools that simplifies the symlink creation are still the prefered approach for me.
Anyway, it is interesting approach and can be useful in some cases.