

Well, it’s more procedural than object-oriented because it’s easier to avoid object-oriented programming than procedural code :D
(Note: I wouldn’t call defining classes OOP until you start using inheritance. Overriding __str__
and stuff might count, but not a lot to me.)
Personally, as time goes on, I use inheritance less.
Incus has a great selection of images that are ready to go, plus gives scripted access to VMs (and LXC containers) very easily; after
incus launch
to create a VM,incus exec
can immediately run commands as root for provisioning.