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.
/etc and ~/.config in priority
What is typically stored in /etc ?
System wide configuration files
Is it possible to tell my OS that it’s always going to have only 1 non-root user and relocate all the
~/.config
into/etc
?You should not do that. Things can break. Your user configurations are stored in .config and Your System configurations stored in /etc/ are used by your system. I wouldn’t recommend it.
Programs may read from /etc, but it’s not recommended. Instead, I recommend having your .config directory stored somewhere, or preferably, have all configs in a git repository (often called dotfiles) and deploy them on systems for example with
stow
It’s like .config but system wide. It stands for Editable Text Configuration. Some examples is config for Sudo, Grub, X11 or SDDM.
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.
/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
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.