>>106148365 (OP)There's no point in making an adhoc DSL given the power required for nix/guix use-cases
In order to make good use of DSL you have to guarantee well defined scope and a strong "closed world" assumption, which isn't clearly the case
You'll end up writing a half hassed crippled language that is accidentally turing-complete anyway
Even when you start with a clearly delimited scope, if you let your project grow enough you end up like I said above (see most of the implementation of SQL, TeX/LaTex, [abused]CSS+HTML and such)
At this point, you might as well design a good general-purpose language (or use an existing one) with some syntactic sugar for the specific domain, rather than end up with people abusing the Turing-completeness of your configuration language