fake.modules transposition for aspect-oriented Dendritic Nix. with cross-aspect dependencies. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/ dendrix.oeiuwq.com/Dendritic.html
dendritic nix aspect oriented
at 4f88b4ecefbe46ccfa5d9cfa11451a88be169a70 26 lines 518 B view raw
1{ 2 lib, 3 config, 4 ... 5}: 6let 7 aspects = import ./aspects.nix lib config.flake.aspects; 8 types = import ./types.nix lib; 9in 10{ 11 options.flake.aspects = lib.mkOption { 12 default = { }; 13 description = '' 14 Attribute set of `<aspect>.<class>` modules. 15 16 Convenience transposition of `flake.modules.<class>.<aspect>`. 17 ''; 18 type = types.aspectsType; 19 }; 20 config.flake.aspects = 21 { config, ... }: 22 { 23 _module.args.aspects = config; 24 }; 25 config.flake.modules = aspects.transposed; 26}