Enable 'Backup my data' and 'Automatic restore' in Settings > Backup and restore. This backs up and restores Google contacts, Keep notes, Calendar, home screens, WiFi passwords and some other settings.
Some apps like AquaMail, Nova Launcher, FolderSync and VoiceChoice have a backup function that will generate backup configuration files. Manually copy those for quick restoration. If there's no built-in backup function, you may be able to find and copy the configuration file for some apps.
SMS/MMS can be backed with a dedicated SMS backup app or with general backup apps like MyBackup Pro or Helium, which can backup much more than just texts.
When setting up, enter the appropriate Google account as the administrator, get WiFi working, add the other various accounts and start downloading and installing. Copy over the backup configuration files for AquaMail, Nova etc and all that extensive app configuration that took hours originally is restored bang - bang.
Most of the time in setting up is spent reconfiguring those apps that do not generate backup configuration files. Unfortunately, seems many developers who write nice apps overlook this important function.
All in all it really isn't too bad if you have a plan and apps such as AquaMail and Nova that will save the most complicated setups and restore them in seconds.
Android since v1.0. Linux user since 2001.