I've had the same Arch installation between four laptops over 12 years. Boot from a USB Linux distro and enter command line. Partition the new laptop, setup disk encryption, rsync the file system via USB external enclosure, modify the ftab, crypttab, and refind.conf, reboot. Don't have to re-install any software or re-setup and sync any accounts.
Same, but with Debian for almost 20 years. Don't remember how I did it before, but the last few migrations were just `dd if=/dev/sda.old of=/dev/sda.new` and then gparted to enlarge the root partition to fill out the new disk.
Last time I did it I threw away my root install too because I figured it had been around long enough that either my drunken younger self messed up the install or otherwise something "dirtied up" the install.
I also figure it's nice to clean the slate just in case someone put a gnarly rootkit on my box.
Over the last two years I've migrated to fedora/Ubuntu and trying to do everything really secure, but I finally broke down and re enabled community a month or two ago. Just too much user space desktop quality of life stuff which only lives in community....