Modular, context-aware and aspect-oriented dendritic Nix configurations.
Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/
den.oeiuwq.com
configurations
den
dendritic
nix
aspect
oriented
1{ ... }@top:
2let
3 lib = top.inputs.nixpkgs.lib;
4
5 # deadnix: skip
6 __findFile =
7 if true then
8 import "${top.inputs.target}/nix/den-brackets.nix" { inherit lib config inputs; }
9 else
10 __findFile;
11
12 inputs = {
13
14 };
15
16 config.den = {
17 default.foo = 1;
18
19 provides.foo.a = 2;
20 provides.foo.provides.bar.b = 3;
21 provides.foo.provides.c = 4;
22
23 d = 5;
24
25 aspects.foo.a = 6;
26 aspects.foo.provides.bar.b = 7;
27 aspects.foo.provides.c = 8;
28
29 };
30in
31{
32 flake.tests."<den.default>" =
33 let
34 expr = <den.default>;
35 expected.foo = 2;
36 in
37 {
38 inherit expr expected;
39 };
40}