This is easy enough with dev containers but once you let a model interact with your desktop, you should be really damn confident in your backup, rollback, and restore methods, and whether an errant rm rf or worse has any way to effect those.
IME even if someone has a cloud drive and a local external drive backup they've never actually tested the recovery path, and will just improvise after an emergency.
A snapshotted ZFS system pushing to something like rsync.net (which also stores snapshots) but I don't know of any timemachine-in-a-box solutions like Apple offers (is there still a time machine product actually? Maybe it's as easy as using that, since a factory reset Mac can restore from a time machine snapshot)