Assuming you’re using btrfs, just use snapshots. You can also make use of Snapper to automate the whole thing, including setting up hooks for pacman so that it automatically takes a snapshot before an update.
And for portability/reproducibility of your OS config, just backup your dotfiles:
rsync -avh --exclude={'.local/share/Trash','.Trash-1000','.cache','/[^.]*'} ~/ /mnt/backupfolder/ --delete
and package list.
And for your personal documents, just use your favorite own/cloud service provider’s tool.
deleted by creator
/etc and ~/.config in priority
I think that you don’t need to backup
/var
or/tmp
.mozilla
One of the reasons why I will probably never install discord/slack/element for desktop, and I will use the browser version is because it’s nice to have everything in one, easy to move around place.
Since I have multiple profiles I can’t really take advantage of the firefox sync service.
~/Documents
Notes, poetry, other work.
~/.ssh
So I can access my servers from any machine.
~/Playables
Games and related data. Although this one is of significantly less importance, since I mainly play only ome game, binding of isaac, a roguelite.
When using a pre-configured Arch derivative, I really only bother to back up a few folders in /home, e.g. ~/.config, ~/Downloads, ~/Documents, ~/Pictures, ~/Music, maybe also .bashrc if I added a bunch of aliases. Everything else is easy enough to reinstall.
/etc /home /root /boot for me
why /boot ?
habit mostly. in case i need to recover from a bad kernel update or botched grub config. i jave never needed the backups.
Exclude: /dev, /proc, /sys, /tmp, /run, /mnt, /media, /lost+found, /swapfile (not a dir), ~/.cache, ~/.local/share/Trash Include: ~/.cache/paru