YADM (Yet Another Dotfiles Manager)
YADM is a dotfiles manager that uses git to synchronize the files between multiple systems.
YADM creates a git repository under ~/.config/yadm/repo.git, which is used for all the yadm commands.
YADM commands are aliases to git commands executed on the yadm repository.
In this way, you can execute yadm add {file} in any directory and the file is automatically added to the yadm repository.
- Install yadm from github (a package exists in the debian repositories, but it is an older version):
curl -fLo /usr/local/bin/yadm https://github.com/TheLocehiliosan/yadm/raw/master/yadmchmod a+x /usr/local/bin/yadm
apt install gitif git is not installed yet- Create or clone a repository
yadm initoryadm clone {url}
Alternatives
It is possible to have multiple version of the same file in ~/.config/yadm/alt, one for every system, and the correct version for the current system is automatically symlinked when executing yadm alt.
The alternate files can also be templates, processed with jinja or an included jinja-like template processor.
See the official documentation for information about how this mechanism works.
Bootstrap
It is possible to create an executable ~/.config/yadm/bootstrap file, which is executed when the repository is cloned or by running yadm bootstrap. This can be useful to set up some dependencies needed by dotfiles & co.