Switch to the NixOS module system for expressing the input specification
As layed out in #11 (closed)
In our current typing system, we use a form of sum types (the type of a resource is the sum of all possible resource types), and fortunately, they have recently been added to the NixOS module system. The current form looks usable, however it seems there are still huge problems regarding error messages (a usual problem with Nix and the NMS..).
We've decided that coupling Canix to the NMS is not such a big problem, we are not the only ones to do this, and hopefully, we can expect the NMS to be factored out some day.
There are still some unknowns about the processing we have to do on the specification, it may be expressible using internal options, however typing them is going to be quite tedious. We'll see. Work ongoing.