Are you suggesting using a binary format for your config files? I think most people would find that more trouble than a decent text format.
> ... than you get with things like text protobuf
You can just use protobuf's canonical JSON representation (thought the lack of ability to use comments is annoying).
Cap’n’proto also has plain text and JSON serialization formats if you really want to have your deployed config file be directly human-editable and deserialize from that. I was just noting a very cool feature of having your config written in cap’n’proto and it’s what Cloudflare uses to maintain a bunch of config internally if I read Kenton’s allusions to it correctly.
You can then compile it into whatever format (JSON, plain text, binary) that you want for actually reading it from disk.
I know cap’n’proto also has fantastic support for using the schema for config files. You can just compile any constant as a stand-alone serialized message that you mmap into your code in a safe way. It can’t do complex math and things (at least yet) but you can express lists, dictionaries, and reference other constants, so as a config file replacement I love it. I’ve also found the format to be far more regular and consistent than you get with things like text protobuf (you’re still using the schema language instead of another format)