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
8
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(hm): parametric aspects at user.includes are accounted now (#148)

Fixes #145 #147

cc @blemouzy

authored by

Victor Borja and committed by
GitHub
5c3b12a1 caa328d0

+13 -8
+1 -2
modules/aspects/provides/home-manager/hm-dependencies.nix
··· 22 22 includes = [ 23 23 (owned den.default) 24 24 (statics den.default) 25 - (owned HM-OS-USER.HM) 26 - (statics HM-OS-USER.HM) 27 25 (parametric.fixedTo HM-OS-USER HM-OS-USER.OS) 26 + (parametric.fixedTo HM-OS-USER HM-OS-USER.HM) 28 27 ]; 29 28 }; 30 29
+12 -6
templates/ci/modules/host-user-conditional-hm.nix
··· 1 1 { lib, ... }: 2 2 let 3 3 # Example: configuration that depends on both host and user. provides only to HM. 4 - host-to-user-conditional = 4 + program-conditional = 5 + program: 5 6 { 6 7 user, 7 8 host, ··· 9 10 }: 10 11 if user.userName == "alice" && !lib.hasSuffix "darwin" host.system then 11 12 { 12 - homeManager.programs.git.enable = true; 13 + homeManager.programs.${program}.enable = true; 13 14 } 14 15 else 15 16 { }; 16 17 in 17 18 { 18 19 19 - den.aspects.rockhopper.includes = [ 20 - # Example: host provides parametric user configuration. 21 - host-to-user-conditional 22 - ]; 20 + # Example: host parametric includes. conditional user configuration. 21 + den.aspects.rockhopper.includes = [ (program-conditional "git") ]; 22 + 23 + # Example: user parametric includes 24 + den.aspects.alice.includes = [ (program-conditional "mpv") ]; 23 25 24 26 perSystem = 25 27 { ··· 35 37 ); 36 38 checks.alice-hm-git-enabled-off = checkCond "home-managed git for alice at honeycrisp" ( 37 39 !alice-at-honeycrisp.programs.git.enable 40 + ); 41 + 42 + checks.alice-hm-mpv-enabled-rockhopper = checkCond "home-managed mpv for alice at rockhopper" ( 43 + alice-at-rockhopper.programs.mpv.enable 38 44 ); 39 45 40 46 };