Please let me know if there is already an accepted way to do this.
Early in the install process, you’d have a field to type a hostname of a local machine that you’d like to install like. The installer would download an “Install facts” file and install the new machine like the model machine.
The “install facts” file is created at install time. it contains things like timezone, language, percentage of disk space for each partition (to handle disk space of differing sizes) Optional files selected, username/password for root and for first user - anything needed to make the install a two click operation.
Note that this would be a full new install - not a clone of a machine that has been in use for a while.
Who’s going to say what is to be reset in a “full new install” and what is kept? I don’t think the line is as clear as you think.
For example, the disk space. Maybe one partition was made to be a flat amount, and another gets what’s left, maybe it’s a percentage split. Who’s to say?
What if the rest of the hardware is significantly different? Maybe your old amd setup needed no third party drivers, but your new nvidia setup is broken without the third party drivers?
I don’t think copying the username / password is a good idea either, ever, by the way.
I think the gray area between cloning and just doing a fresh install without copying anything is a little too personal (and/or hardware-specific) to really manage well this way.