Thank you for the review.
A clarification: lxops is not a replacement for distrobuilder. Distrobuilder creates images directly from external artifacts (releases and repositories of the various distributions). lxops does not do this. But incus and lxd can easily create images from other images: Launch a container from an image, install some packages or do any other configuration, take a snapshot, publish the snapshot as an image, export the image to a file, and import the image to another system. lxops automates parts of this procedure with a build file, which specifies the starting image (or instance snapshot), profiles, a list of cloud-config files, etc…
“lxops cloudconfig” works with any existing instance, not instances created by lxops.
I used to have my own home-grown file format for configuring instances. But I switched to the cloud-config format and semantics, which saved me from trying to maintain yet another configuration specification. I understand many people use Ansible instead, perhaps with some bootstrap configuration done with cloud-init. I don’t know Ansible. The cloud-config format is simple (at least the basic modules), easy to learn, straightforward, and can be implemented with almost no requirements on the instance (no python or ssh are required).
Other aspects of lxops can be discussed elsewhere (e.g. here).