> this is possible via snapper on Linux + btrfs but needs complex installation and is not so integrated
FWIW, openSUSE defaults to btrfs on the root filesystem and uses snapper in a very similar manner to zfs boot environments on FreeBSD. I don't have a lot of experience with the latter, but I have been running openSUSE Tumbleweed on my desktop and primary laptop for about 10 years now, and the btrfs+snapper arrangement has worked pretty well for me.
(I also run FreeBSD on my home server and just did the upgrade to 15.0 this weekend, which left me wondering why I had procrastinated this upgrade for so long. It went perfectly fine.)