Snapper seems to be the preferred approach. It should be pretty simple to set up in EndeavourOS with AUR helpers. If you want a more hands on approach with reading up, custom subvolumes layout and such, it can be more complex.
Timeshift is a great and simpler alternative. If you choose that, be sure to take note of this thread, and pebcak’s solution: