Kingzly
GrapheneOS has a built-in backup feature called Seedvault which is able to do this partially. It's located in Settings > System > Backups. I say partially because not all system settings that you have changed will be backed up. Settings like the home screen layout and quick tiles will be backed up. It can be used with a USB stick. It is able to backup the apps within a profile (also the disabled apps), but it cannot backup and restore the app data for all of those apps. For example, Signal/Molly have their own backup system and won't be compatible with system backup software; Seedvault will tell you that their app data were backed up but you won't be able to use their restored app data. For that reason, I strongly recommend to take manual backups of the app data as well where you can. Also recommend restoring the backup on the new device and test that what you want restored has been restored before you reset the old device.
You can exclude apps that you don't want to back up by selecting Backup status > vertical ellipsis top-right > Exclude apps.
Note that Seedvault backups are per-profile. You will have to create backups for each of your profiles.
Seedvault is not known as a hugely reliable backup system, but in my experience it mostly works. It has become slightly easier to use in the latest versions. It's convenient when it works.
It doesn't currently support backing up private spaces to a USB stick. Note that apps will have their Network permission enabled when they are restored.