Qubes-os ships with salt to automate your qubes setup. It’s a pretty handy to install programs and fancy configuration files but can also be used to bake your qubes templates with reproducibility. The documented installation process for Kali templates is quite hands on, let’s use salt to remedy that.
dom0 section sets up the qubes and
kali-tmpl adds the repo and installs the meta-package in the template. Keep in mind
*.top references the other files, any file names changes must be reflected in it.
To my knowledge (and a few clumsy greps) there is no
qvm.volume salt command to resize the volume so we do it manually. Resizing is needed, a full Kali installation is bigger than the default disk size of debian-10.
Packages specified in
python-apt are required for salt to manage/install/fetch/configure the new repository. Consult the documentation for the various key and repository configuration options here. The one depicted here (downloading the key without checking it) is not optimal… but the key server just happened to be down, verifying it manually before installing packages did the trick.
kali.top to salt and kickoff the template creation:
kali-linux-full installation took forever (and not having stdout to make it go faster by starring at it is a bit frustrating, use
--show-output to troubleshoot errors). Once everything ran smoothly, we have our Kali template and assorted AppVM: