This post is purely curiosity not a request or grievance or "I wish you had implemented XYZ feature" post.
I've lately been looking into both Timeshift and Snapper and I believe both can leverage BTRFS snapshots in similar ways. Both tools (with the addition of other packages) can be used to automatically take snapshots on system upgrade/package manager operations, both tools can be configured to let the user boot into a snapshot from the grub boot menu, and (I believe) both tools provide a GUI and CLI for managing snapshots.
This got me curious, were Snapper and Timeshift both considered early on in the development process and if so, what factors led to adopting timeshift over snapper?
"Was Snapper + BTRFS ever seriously considered when Garuda Linux was first being created?"
, snapper failed,
never change a running system
But you can test snapper and post your experience.
I probably will, but not with Garuda ("If it Ain't Broke, Don't fix it").
Actually preparing to possibly try to integrate snapper, is what led me to this question. I'm using Fedora on my other machine, (BTRFS by default, but no automatic snapshots or snapshots directly in grub). My research has so far indicated there are two solutions, Garuda's approach (BTRFS + Timeshift), and OpenSuse's approach (BTRFS + Snapper). Someday Fedora will probably include one or the other by default or build their own solution, but as it stands right now, it has to be done manually and has been done with either tool.
This is what got me curious about why Garuda chose Timeshift, if there was some compelling feature or advantage or if it was just the first solution that worked, or the simplest solution, or personal preference.
I'm quite happy with Garuda's approach, and its one I am more familiar with before using Garuda I played around with BTRFS+Timeshift on Manjaro, Ubuntu, and Pop_OS, so I have no reason to break from Garuda's defaults with my Garuda system. But with Fedora I'm starting with a 'blank slate' (hope that translates), so I became curious whether there were any compelling reasons Garuda chose Timeshift over Snapper.
Timeshift seems to be quite popular with the linux community, but on the other hand, Snapper has some advantages like (from what I've seen so far) better documentation (from OpenSUSE as well as a fairly in depth entry in the Arch Wiki), and also (according to the arch wiki) the ability to be extended beyond just snapshotting to also manage incremental backup to external media using BTRFS send/receive.
I know this is semi-off-topic for Garuda, but since Garuda is one of the few distros that is leading the way in BTRFS adoption and an even smaller group of distros that really leverage snapshots I thought it was somewhat relevant, and I would value/respect the opinions of the team on this topic.
In my humble experience, the one time I really needed snapper to work in OpenSuse, it failed me. The one time I needed Timeshift in Garuda, it worked perfectly, and I have not yet reinstalled on that system.
Failed in what respect?
I would think it would be pretty reliable since it is integrated into an enterprise distro, but then again, that doesn't gaurantee it will be bug free and especially doesn't gaurantee it will be simple/intuitive for end users.
So far, my experience with timeshift has been like yours--great for the most part--I won't say I understand it or BTRFS in any depth, but so far I haven't needed to, it 'just works.' I've rolled back from Grub 3 or 4 times and taken a few manual snapshots, never had an issue and found it very intuitive.
Well after restoring and booting, I don't remember the exact error but it was falling back to a read-only snapshot.
That may have been my case. I think I read later that the right way to do it with Snapper is to boot into a snapshot and then restore from there. So I'd say use Timeshift for the simple reason that it's easier to learn...
That is definitely a strong selling point / advantage to a casual user like myself
I have been testing both Timeshift and Snapper on Garuda for a while. I let timeshift handle the root volume snapshot and grub entry for rollback and use snapper for other subvolumes and disks. I am sure this is not an ideal setup, but it allows me to try out both, I have not run into any problems with it so far.
I slightly prefer the snapper configuration setup to timeshift, but I am still comparing them on other features, grub integration etc.
From what I see in the main page, Garuda comes with BTRFS and Snapper now. What happened to Timeshift?