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

example git class -> homeManager -> nixos

+41
+41
templates/ci/modules/features/forward.nix templates/ci/modules/features/forward-from-custom-class.nix
··· 73 73 } 74 74 ); 75 75 76 + test-custom-git-class-fowards-to-hm-then-nixos = denTest ( 77 + { 78 + den, 79 + lib, 80 + igloo, 81 + ... 82 + }: 83 + let 84 + forwarded = 85 + { class, aspect-chain }: 86 + den._.forward { 87 + each = lib.singleton class; 88 + fromClass = _: "git"; 89 + intoClass = _: "homeManager"; 90 + intoPath = _: [ 91 + "programs" 92 + "git" 93 + ]; 94 + fromAspect = _: lib.head aspect-chain; 95 + adaptArgs = 96 + { config, ... }: 97 + { 98 + osConfig = config; 99 + }; 100 + }; 101 + in 102 + { 103 + den.hosts.x86_64-linux.igloo.users.tux = { }; 104 + 105 + den.aspects.igloo.homeManager.home.stateVersion = "25.11"; 106 + 107 + den.aspects.tux = { 108 + includes = [ forwarded ]; 109 + git.userEmail = "root@linux.com"; 110 + }; 111 + 112 + expr = igloo.home-manager.users.tux.programs.git.userEmail; 113 + expected = "root@linux.com"; 114 + } 115 + ); 116 + 76 117 }; 77 118 }