As much as possible, I use Homebrew for installing command line tools and regular applications. It has a bundle which is basically a format for listing all things you installed in a single file. (Which on a fresh computer you can tell brew
to install all the listed apps in a bundle file).
The other tool I use is mackup which I use to backup to iCloud all of the configurations for command line tools and GUIs (see the README for a huge list of supported apps!)
Between these 2 tools and Backblaze for the occasional file I hadn’t realized I wasn’t syncing anywhere, probably 80-90% automated. (I did a fresh install 2 weeks ago )
For regular documents, I sync to iCloud and an external drive my Documents folder.