The current configuration will setup certain integrations during the onboarding process. However, some of the integrations are not necessary depending on the user and require additional work to disable them manually.
I believe it would beneficial to provide an option to disable these through the configuration.yaml file. These integrations should still be set up by default unless it is explicitly set otherwise. This would be an advanced feature to shorten the onboarding process.
I’m not much familiar with the HA codebase, but the file you reference does not seem to contain any reference to integrations that the onboarding could do without.
Your original question asks a way of deciding what integrations get loaded in cornfiguration.yaml. That is the question I answered. If you take out default_config you are fully in control over what gets loaded on the next boot. I do not think anyone would edit configuration.yaml before onboarding, nor understand what disabling default integrations would mean for future use.
You fail to explain what integrations you would want to disable and what the benefit would be of doing so. Personally, I think it is a nice feature if during onboarding all integrations that allow auto detection are loaded once.
That way you can show new users which devices are available in their home to integrate, and allows them a choice to keep the integration loaded for future times or not. I guess this is why integrations are loaded during onboarding.
Not doing so would make it very hard for users to decide which integrations could be of use to them, based on devices they already own. Showing them a list with all kinds of integrations they do not know before autodetection would not be an improvement in my book.
I think there’s some confusion in your understanding.
The original question is not asking what integrations get loaded in the configuration.yaml. It is specifying that certain integrations get set up during the onboarding process.
The feature requested here is to provide an optional feature of disabling these via the configuration.yaml such that the onboarding process doesn’t need to incur extra time to set these up.
So if I get it right the only benefit you mention is to save some time for the first boot. But what will be the integrations you want to turn off, how much time would it take to configure not loading those, and what would be the possible consequence for the onboarding if those integrations are not loaded? You still do not make a good case for the benefit i.m.h.o. If you want people to vote for it, explain how it would work and why it would be better.
I’m more curious what integrations we are talking about.
But remembering how it was to install Windows 95, that is probably not a good first impression.
You had to sit there the entire time because it would prompt you with new questions every 5 minutes such as “your name”, " computer name", “timezone” and so on.
If it defaults to something that most people use then that is probably a better experience than asking if you want to include some integrations that no new user knows what it is anyways.
Yes, I don’t disagree that it should be included by default – this should still be the case. This advanced feature would need to be explicitly set to bypass these integrations during the onboarding process.
I’m sitting here wondering why this even matters? You onboard once, these integrations are only installed & used when you onboard. Otherwise they just take up maybe a couple kb of memory.