Compose flakes with the (NixOS) module system.
yeah.. powerful stuff
I cannot tell you how freeing the flake-modules concept is
I feel like a hipster using it too
For a general introduction to modules, you can read Writing Modules in the NixOS manual, though it goes into NixOS specifics quite quickly. Instead of
services.<name>.*, etc, we have our own options.
Writing modules in a distributed ecosystem can be a bit different. If you're inclined to write to some other module's options, consider whether those will be loaded and whether your integration idea is always desirable. If it's not always desirable, consider splitting it off into an extra module, e.g.
flakeModules.someOther. Otherwise check if it's loaded:
lib.optionalAttrs (options?some.other.option). You can ask
@roberth on GitHub.