@marble it uses actual functional programming language (GNU Guile) instead of glorified JSON so you can do a lot more painlessly
My experience: https://git.dotya.ml/OpenVolt/nyxtumops
Same implementation but in GNU Guix:
http://ix.io/4709
Significantly more functional and significantly less painful!