yadm alternative: Dotfiles Pro
yadm (Yet Another Dotfiles Manager) wraps git to version the files in your $HOME directly, with alternates for per-machine variants, templating, and built-in encryption. Dotfiles Pro is broader: an Ansible collection that manages the whole machine (packages, system configuration, cloned repositories, and dotfiles) for one laptop or a fleet.
yadm is a great fit if git-tracked home-directory files are all you need. Dotfiles Pro is for when the machine around those files, what's installed, configured, and cloned, has to be managed too.
yadm vs Dotfiles Pro
- Scope: yadm manages files in
$HOME; Dotfiles Pro manages the whole machine. - Engine: yadm is git plus a wrapper; Dotfiles Pro is a local Ansible run.
- Packages & system state: yadm has no notion of them; Dotfiles Pro installs packages and configures services,
wsl.conf, and more. - Secrets: yadm has built-in encryption but no password-manager integration; Dotfiles Pro delegates secrets to the
bitwardenrole or ansible-vault. - Team: Dotfiles Pro delivers a shared baseline as a collection each person pulls into their own config repo; yadm has no team model.
When yadm is the better choice
- You want git history over every change to your home-directory files.
- You don't need packages or system state managed.
- A single self-contained tool with built-in encryption appeals.
When to choose Dotfiles Pro
- Packages, services, and repositories belong in the same apply as your dotfiles.
- Your several machines run from one config repo, and a team can share a baseline collection on top.
- You're on Ubuntu, macOS, or WSL.
Migrating from yadm
Move incrementally: verbatim files go in the dotfiles role's dotfiles_list, structured config (git identity, aliases) becomes vars, templated files host_vars / group_vars and Jinja, shell config a ~/.profile.d/ drop-in. Run both until the playbook owns everything.
See the full alternatives comparison for the scored tables.