My system for multiple Debian and OpenBSD machines:
Configuration files, secrets files, and personal scripts are stored in a git repository. There is a shell script that sets up symbolic links for the configuration files, /etc/hosts file, and crontabs (the machines all back up to each other and to several servers using rsync and hardlink snapshots automatically, in addition to offline media backups). Machine-specific configurations (mostly keyboard and screen) are conditional on hostname and pulled in by symbolic links or templating.
The scripts have some OpenBSD-specific conditionals. Also .profile is conditional on the operating system.
GNU Emacs configuration lives in a separate git repository. EXWM is my window manager on Linux and OpenBSD, which makes things easier. I run different versions of Emacs on different machines (some from the package manager, some built from source). The configuration is conditional on terminal or graphics mode, as well as on X11 specifically. There is also conditional configuration for Mac OS X for when I have to work on someone else's machines.
I do not automate operating system or package installation (I also get new hardware "every couple of years," and all the machines have different software installed), but the installed package list (`apt-mark showmanual` on Debian and `pkg_info -m` on OpenBSD) is part of the backups, so I can restore or bring up a new machine from the list quickly.
Reference and media files are synced with Unison, my personal notes and projects are in git repositories, and mail is synced with offlineimap.
I find the above makes it easy to bring up new machines and, more important, effortless to keep the relevant configurations on multiple machines consistent, while not getting in the way of differences (different software on different machines, software compiled from source vs installed via the package manager).
I plan to start using GuixSD in the near future, and look forward to using it to automate server and virtual machine configuration and provisioning.