Doing some embedded C programming these days and the mixture between behavior through config flags and code implementation feels very weird for me.
Also that I have to tell some modules through config flags how long string parameters are: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.2.1/zephyr/reference/kconfig/CONFIG_AWS_IOT_CLIENT_ID_MAX_LEN.html
Wut?