I'm new to nrf connect sdk and although i studied the documentation its not completely clear to me.
What is the difference between KConfig vs KConfig.defaults vs prj.conf vs KConfig interactive gui?
My understanding till now is (looking to nrf5340 audio dk example):
KConfig: a file in app root folder (optional) where you can define your own configuration options and their default values (like NRF5340_AUDIO_TRANSPORT_MODE)
KConfig.defaults: a file in app root folder (optional) where there are more DK related configuration options and their default values (in contrast with KConfig that is more application focused like I2C)
If you change one of the two the configuration is saved in the temp file /zephyr/.config and you can build (not pristine?) again and flash after each change.
KConfig interactive gui: a GUI that helps you pick the KConfig (and KConfig.defaults, as it is included in KConfig) options and each change is temporary saved in /zephyr/.config. It takes its options from KConfig (but why my own KConfig in the app folder is not included?)
prj.conf: a file where you write the options you want to change using the CONFIG_name_from_KConfig file and each change is permanent to your build. You have to make pristine build and flash after each change
So, this is what i understand but i would like a validation..