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

fmt

+12 -11
+3 -3
modules/aspects/provides/hjem/hjem-os.nix
··· 16 16 { 17 17 options.hjem = { 18 18 enable = lib.mkOption { 19 - type = lib.types.bool; 20 - default = den.lib.host-has-user-with-class host hjemClass; 21 - }; 19 + type = lib.types.bool; 20 + default = den.lib.host-has-user-with-class host hjemClass; 21 + }; 22 22 module = lib.mkOption { 23 23 type = lib.types.deferredModule; 24 24 default = inputs.hjem."${host.class}Modules".default;
+1 -1
modules/aspects/provides/home-manager/hm-integration.nix
··· 43 43 44 44 in 45 45 { 46 - den.provides.home-manager = {}; 46 + den.provides.home-manager = { }; 47 47 48 48 den.ctx.home.description = "Standalone Home-Manager config provided by home aspect"; 49 49 den.ctx.home._.home = { home }: parametric.fixedTo { inherit home; } den.aspects.${home.aspect};
+3 -3
modules/aspects/provides/home-manager/hm-os.nix
··· 32 32 { 33 33 options.home-manager = { 34 34 enable = lib.mkOption { 35 - type = lib.types.bool; 36 - default = den.lib.host-has-user-with-class host hm-class; 37 - }; 35 + type = lib.types.bool; 36 + default = den.lib.host-has-user-with-class host hm-class; 37 + }; 38 38 module = lib.mkOption { 39 39 type = lib.types.deferredModule; 40 40 default = inputs.home-manager."${host.class}Modules".home-manager;
+3 -3
modules/aspects/provides/maid/maid-os.nix
··· 15 15 { 16 16 options.nix-maid = { 17 17 enable = lib.mkOption { 18 - type = lib.types.bool; 19 - default = den.lib.host-has-user-with-class host maidClass; 20 - }; 18 + type = lib.types.bool; 19 + default = den.lib.host-has-user-with-class host maidClass; 20 + }; 21 21 module = lib.mkOption { 22 22 type = lib.types.deferredModule; 23 23 default = inputs.nix-maid.nixosModules.default;
+2 -1
modules/aspects/provides/os-user.nix
··· 48 48 { 49 49 den.ctx.user.includes = [ fwd ]; 50 50 51 - den.lib.host-has-user-with-class = host: class: 51 + den.lib.host-has-user-with-class = 52 + host: class: 52 53 lib.pipe host.users [ 53 54 (lib.attrValues) 54 55 (map (user: lib.elem class user.classes))