FWIW the JSON/JavaScript design is roughly where we're going with Oils
We have JSON support for literal data, pure data
But you can also interleave code and data in what turns out to be a very Lisp-y fashion, which is useful for configuration
https://www.oilshell.org/release/0.17.0/doc/hay.html
Slogan: We're adding the missing declarative part to shell, called Hay (Hay Ain't YAML)
That is, most YAML configs are just nested key-value pairs, where some values are shell snippets ... So I think it makes sense to add declarative data to shell instead!