The daemons (bird, dnsmasq) and Linux containers already use a mechanism where "netlab create" creates configuration files or bash scripts, and "netlab initial" only executes them. At the moment, that requires per-module entries in clab.config_templates or clab.node_config.
We could add a new parameter (clab.config_mechanism) that would specify what we want to do for all modules of a certain container. Given that mechanism, the clab provider would populate the above-mentioned dictionaries (and yes, @jbemmel, I know this is what you suggested a while ago ;)
The two devices that would benefit most from this approach would be FRR and VyOS as we can execute Bash scripts on them.
Any thoughts @jbemmel @ssasso @sdargoeuves