I’m definitely a newbie, but I hate “cruft” (unused stuff), so I’ve been working through this.
I had the worst time with the firewalls. I’d create a template and try to turn it into a dvm template. And that wouldn’t work. So I’d leave it as a template and I couldn’t get the firewall vm to use it as a template.
Finally, tonight, the light dawned.
First you create a template. Install network stuff, the dom0 update thing, and so on, onto that template.
Then you create an ordinary VM from that template…and turn it into a DVM template. That’s what
qvm-create --template OrigTemplate --label puce DVMTempl
qvm-prefs DVMTempl template_for_dispvms True
qvm-features DVMTeml appmenus-dispvm 1
are for and you do not run them on the (first) template!!!)
THAT–a different entity from the template you installed software onto–can now be pointed to by sys-firewall as its template.
Maybe I’m just really dense. Or maybe I’m not really dense and it should be spelled out this blatantly in the directions because most people might fail to realize this. I’ll leave that up to @Sven 's judgment.
By the way, thank you; I’ve learned a lot whilst doing this. I also have about a zillion templates right now! (Life made interesting by the fact that I am compartmentalizing wifi and ethernet, so I end up with separate sys-net and sys-firewall stuff…and all the templates they depend on.
(In fact, this is going through my minimal wifi firewall and wifi net qubes.)