Doesn’t puppet / chef / ansible etc. do this already?
These are large-scale datacenter / IT automation tools, and not written for you and me putting code on our Raspberry Pi. Conceivably we could build on one of them, but the upside seemed small compared to the downside.
One key difference is that you and I, and everybody, will put different combinations of Apps on our Devices, instead of a devops engineer putting the same combination of code on many servers. This difference has ramifications on the tools.