Systemd also has a newer feature named sysupdate which allows systemd to manage the host operating system. It has some really nice features around integrity and trusted boot.
https://man.archlinux.org/man/systemd-sysupdate.8.en
Here is a discussion about why they chose it for building an appliance like operating system for GNOME:
https://discourse.gnome.org/t/why-did-gnome-os-choose-system...
Alternatively, there is also bootable containers: