Vic's *Nix config.
at main 68 lines 1.3 kB view raw
1{ 2 den, 3 vic, 4 lib, 5 ... 6}: 7{ 8 vic.everywhere.includes = [ vic.classes ]; 9 10 vic.classes.includes = [ 11 vic.hmPlatforms 12 vic.hm 13 ]; 14 15 vic.hmPlatforms = 16 { aspect-chain, ... }: 17 den._.forward { 18 each = [ 19 "Linux" 20 "Darwin" 21 ]; 22 fromClass = platform: "hm${platform}"; 23 intoClass = _: "homeManager"; 24 intoPath = _: [ ]; 25 fromAspect = _: lib.head aspect-chain; 26 adaptArgs = 27 { config, ... }: 28 { 29 osConfig = config; 30 }; 31 guard = 32 { 33 pkgs, 34 # deadnix: skip 35 inputs', 36 # deadnix: skip 37 self', 38 ... 39 }: 40 platform: lib.mkIf pkgs.stdenv."is${platform}"; 41 }; 42 43 vic.hm = 44 { host, ... }: 45 { aspect-chain, ... }: 46 den._.forward { 47 each = lib.singleton true; 48 fromClass = _: "hm"; 49 intoClass = _: "homeManager"; 50 intoPath = _: [ ]; 51 fromAspect = _: lib.head aspect-chain; 52 adaptArgs = 53 { config, ... }: 54 { 55 osConfig = config; 56 }; 57 guard = 58 { 59 pkgs, 60 # deadnix: skip 61 inputs', 62 # deadnix: skip 63 self', 64 ... 65 }: 66 _: lib.mkIf (pkgs.stdenv.isDarwin || (pkgs.stdenv.isLinux && !host.iso)); 67 }; 68}