Disclaimer: Use it at your own peril! It will work on Arch Linux with some tweaks.
I use Btrfs as my root file system and Snapper to make easy snapshots.
OpenSUSE snapshot like behavior, after every pacman command a snapshot is automatically created before and after making changes, if something goes awry you can revert the changes by choosing a previous snapshot directly from Grub menu.
If you are not careful, your root partition will fill up! So don’t forget to delete old snapshots.
1- Create a subvolume:
sudo btrfs subvolume create /snapshots # I use /snapshots
2- Install required packages (snapper, snap-pac,grub-btrfs) optional install snapper-gui-git from AUR for easily managing of snapshots.
sudo pacman -S snapper snap-pac grub-btrfs
(optional), pacaur -y snapper-gui-git
3- Create a snapper config
sudo snapper -c config create-config /snapshots # you can use another path for your snapshots
sudo snapper create-config / one for root just in case
4- Make a manual snapshot to see if things are working properly
sudo snapper -c config create –description “No bug shall pass”
5- Install grub-btrfs from AUR (I use pacaur, yaourt -S does the same)
pacaur -y grub-btrfs
6- Update grub to ensure that your snapshots will start showing before boot
That’s it, if your Grub is still working you can revert to your previous Snapshot by simply selecting on the menu!
Do you want a GUI way to clean your snapshots? Install Snapper-gui
pacaur -y snapper-gui-git
Ps. Tested on Arch Linux and Manjaro