Cool indeed. I wonder how you can supply it with types from the program that consumes the config.
My Gradle config is in Kotlin these days. Kotlin, besides being a full blown prog lang, has nice features for config specs (map/list literals, typed, eDSL syntax). Though it is an enormous dependency (way to big for a project that just needs a config file format).
If your language has an OpenAPI library, you can create a hello-world web app that exposes your configuration object as an HTTP endpoint, and generate Dhall types from that.
But this turns out to support OP's point. JSON is good enough, and there are many alternatives that we are debating and don't agree on.
So if you have to pick something, and I have to pick something, since we don't agree, we will fallback on JSON.
Here's a rundown of HOCON's main features: https://github.com/lightbend/config#features-of-hocon
Where JSON mainly fails as config format is lack of comments. Comment provide help and structure when editing. While allowing to toggle functionality. Which is where trailing commas help.
Use a prettifier plugin in your editor or squint, silly human. Trailing-comma-on-write-annoyance-adjuster, bada-bing, bada-boom. Most of the peeves can be hidden with good tooling. This Ron thing makes sense because of Serde not because it is prettier.