CI/nix - declarative CI

CI/nix is a CI configuration system built with declarative NixOS-style modules. Configurations are nix expressions that can generate and deploy equivalent configurations for a CI service, like so. It aims to be a sort of more lightweight approach compared to Hydra by integrating with existing hosted CI providers while offering more flexibility than using nix alone would.

This is just something I’ve been working on for my own needs and has been through a few rounds of iteration, it now feels like it’s in a state where it can shown and I would appreciate some feedback! Is this approach even useful or am I just reinventing wheels here?

(also I hope this is the right place for this, I’m not sure I’m ready to call it a “release” but wasn’t really sure of the most appropriate place to post)