If you salt your templates, then you have a self documenting system, and
all you have to do is back up those salt files.
The change in your working practice is this: in template you install
programs using dnf or apt, and make a separate note of what you have
installed; using salt you create a file named install.sls in
/srv/salt/ like this:
my_new_template_packages:
pkg.installed:
- refresh: True
- pkgs:
- qubes-core-agent-networking
- qubes-core-agent-passwordless-root
- qubes-gpg-split
- openssl
- neovim
and apply it with:
`sudo qubesctl --skip-dom0 --targets=TEMPLATE --show-output state.apply install
If you want to install another program just add it to the pkgs list
and apply the file again.
After a while, this becomes second nature.
An advantage of using salt is that the same file can be used for
various distributions. Sometimes, you hit an issue where a package has a
different name in (e.g) Debian or Fedora - salt has simple mechanisms for
dealing with this. In my experience even “unsophisticated” users are
able to get a working knowledge of basic salt.
I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.