but smb.service never starts up. What am I missing?
Obviously the service dir needs to be persistent, but even if I enable the service and make the symlink persistent in bindirs it does not start up ( /etc/systemd/system/multi-user.target.wants/smbd.service) .
As far as I remember adding the service in the qubes settings menu should be enough and adding a service under /etc/systemd/system/servicename/ is for custom ones?
To be clear, your 30_qubes.conf should also be created in the TemplateVM (not in the AppVM). If you then enable the systemd service only in the TemplateVM and the qube service only for the AppVM, the systemd condition will be fulfilled only for the AppVM, allowing the systemd service to start there but not in the TemplateVM.
The systemd service is still “enabled” in the TemplateVM and in AppVMs based on it, but the condition prevents it from actually being started in any qube that doesn’t also have the qube service enabled.
The whole thing is pretty weird. Basically systemd evaluates enabled/disabled status of all services at the very beginning of the boot process (before AppVM specific configuration is loaded), but conditions are evaluated at the last minute so they’re used as a workaround.