Maybe the docs might need some simplifications somewhere, but also reading through other threads here in the forum you might see that by defining custom environments it really is the easiest and simplest method for creating and building your own custom builds, e.g.
Just out of curiosity, when changing all the modules in user.config and setting the pinouts in the two module configs, which environment did you then try to build? The same way I described above though the PlatformIO sidebar environment selection? It is more likely though that you then tried to build ALL environments with some CLI command, which keeps giving you errors and making you annoyed
It went on and on for 2 hours
If you just trust me and follow the simple instructions I gave above you will very likely quickly go “Oh, it’s that simple” and it builds in under a minute.
Easiest test would be to just Build and Upload one of the above predefined environments, which should show you how quick the building and uploading is, even though giving you just the one single gateway functionality.
It would be a shame if you gave up now, being so close, if you just spend a few minutes combining the above two environments (duplicate entries need not to exist twice) and telling us how you defined the pinouts so that they also can be included in the environment.