My point was not about shell in particular, but about that every programming language could provide the same functionality without the need of YAML and Jinja2 in this example. For me, here YAML is just an overhead for calling function with some parameters, and it does not add any kind of abstraction that helps me. Is there a scripting language, which provides data types and other thing we would like to have, but does not have the object-oriented overhead like python or forbids to write ugly unreadable code like Perl? Is a DSL the only solution for this?
In FAI, the config file for disk partitioning looks like an enhanced fstab file, which gives me an abstraction of parted, mkfs, lvm, mdadm and mount calls, but is much easier to read and edit than YAML. It was hard work to write the parser for this (and this may still be not the best code), but my priority was to give a simple config file to the user. I do not see that kind of gain in the YAML example you gave which can easily mapped to calls to very simple functions. But maybe extending the YAML schema could improve this abstraction. </end of YAML rant> -- regards Thomas
