4 ms·
I almost agree with you, but then again I recall the use of YAML for Ansible configuration, and the pain that bolting on additional things has caused. It has t
by stevekemp 6y ago
I almost agree with you, but then again I recall the use of YAML for Ansible configuration, and the pain that bolting on additional things has caused.
It has to be said there are a lot of things that are almost fully-scriptable, for example the "mutt" mail-client. It has a configuration language, but it isn't real in the sense that you can't define functions, use loops, etc. I eventually wrote my own mail-client so I could do complicated things with a real configuration language (lua in my case).
Seeing scripting languages grow up in an adhoc fashion often leaves you in the worst of all worlds. Once upon a time I decided I wanted to script the generation of GNU screen configuration files for example. I made a trivial patch:
* If the .screenrc file is non-executable - read/parse.
* Otherwise execute it, and parse the result.
Been a few years now, but I think the end result was that I wrote a configuration-generator in Perl that did the necessary things. (Of course this was before I submitted the "unbindall" primitive upstream, which was one small change that made custom use of screen more safer - using it as a login shell, for customers who shouldn't be able to run arbitrary things.)