Partitioning

Separate Home Partition

Strongly suggest that you use a separate partion for /home

Then if you are upgrading a machine, you should NOT remove the existing /home partition and instead should keep it and configure the mount point to be /home again

If this is done then a newly upgraded machine is already largely configured to the users preferences. Things like SSH keys and gnome shell extensions will persist.

If the user is using jetbrains toolbox, then PHPStorm along with all of its configuration and plugins will also persist.