Backing up desktop Linux: Timeshift, ZFS + Sanoid & Syncoid, or scripting?

Hello Learn Linux community-

I am about to upgrade the SSD on my laptop and thought it would be a really good time to solidify my backup process. I am debating two options: Using ZFS and Sanoid + Syncoid to automatically take ZFS snapshots and then send them to my TrueNAS box. OR using TimeShift to backup. I am leaning toward the former of these two options: ZFS.

I just watched Jay’s video on Timeshift and am curious how other people in the fourm backup their Linux laptops/desktops to their NAS. I’m looking for a solution that has snapshot like features and something that backups the entire system, not just my files. I want to be able to torch my local drive, buy a new one and have the laptop in the exact state of whenever the last backup occurred.

My backup strategy for actual working files is really great already. Its a bit out of scope so the details are hidden below.

NAS Backup

I store nearly everything on TrueNAS. Some items I use SyncThing to store locally, but they Sync to the TrueNAS box, so thus they benefit from the drive redundancy within TrueNAS. Then the entire TrueNAS box is replicated to another TrueNAS offsite. Some datasets are also backed up to the cloud.

My third and final option is potentially a good option in conjunction with the first two. Scripting the setup process like how Jay has done with ansible. This would be quite the project for me, but I think I will learn a lot.

Thoughts on best practices for Linux desktop/laptop (not server) backup procedures? What do other community members do?

I am using Timeshift as well. It has already helped me with a quick resolution to a kernel update that caused my system to not boot, and also a video driver problem that I had trying to implement the latest official Linux Nvidia driver.