Around year 2000, I heard, saw, and - I vaguely recall - used myself a bare repository approach to store my configuration files. Since I change my desktop computer approximately every 6-7 years on the average, it did not make sense to formalize it.

Now that I use omarchy on my laptop, and am likely to install it on my desktop 2024 too, maybe it is time to try again ;)

The options I see are:

  • GNU stow; although recommended in the Omarchy Manual, its symlink-based approach does not appeal to me;
  • bare GIT repository: there are many guides, but I’d like something that helps with creating and maintaining the dotfiles repository;
  • yadm seems to be a thin enough wrapper around a GIT repository which does help with routine tasks;
  • chezmoi gets a lot of praise for better templating than yadm, but since I don’t even understand what templating is, let alone need it, I am going to go with yadm for now :)

yadm stores the dotfiles repository in $HOME/.local/share/yadm/repo.git.

I might store secrets in my dotfiles repository: Cloudflare API tokens, Google Cloud Platform Keys etc.; yadm provides its own way of doing that, but there are approaches that are not yadm-specific:

yadm supports transcrypt and git-crypt directly.