If your program requires executing another program to prepare its options, then something has gone wrong in design or architecture.

Configuration is a type of API - and should be designed with the same care and goals including human legibility, orthogonality, “simple things should be simple to do”, surprise avoidance, stability, minimalism, etc.

Instead often what we get is little more than a sort of serialized form of the internal state of the system.

If configuration is an API, what's the harm in scripting against it?