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
1{
2 mkFlake,
3 evalMod,
4 lib,
5 ...
6}:
7{
8
9 flake.tests."test provides parametrized modules" =
10 let
11 flake = mkFlake {
12 flake.aspects =
13 { aspects, ... }:
14 {
15 aspectOne.includes = [ (aspects.aspectTwo.provides.hello "mundo") ];
16 aspectOne.classOne.bar = [ "1" ];
17
18 aspectTwo.provides.hello = world: {
19 classOne.bar = [ world ];
20 };
21 };
22 };
23
24 expr = lib.sort (a: b: a < b) (evalMod "classOne" flake.modules.classOne.aspectOne).bar;
25 expected = [
26 "1"
27 "mundo"
28 ];
29 in
30 {
31 inherit expr expected;
32 };
33
34}