I use Ubuntu. I just install the new system, copy over my home directory (
rsync -avP or something like that), and then
apt install whatever I find is missing.
Last time I installed a new machine I put all partitions but
/boot on ZFS, should make the above even easier next time.
I am assuming that the machine is a desktop/laptop. For a server, I would do a more careful migration of
/etc, and other relevant directories. But on a laptop, I pretty much never customize anything there, and just keep a backup in case I need to grep it for some stuff. In fact, I am happy to lose the cruft that accumulates in directories for each new install.
I don’t think that containers make much sense for a laptop/desktop, but these days they have almost zero overhead anyway so why not. I have a colleague who runs Ubuntu on a MacBook Pro within a container (he likes the hardware).