Vic's *Nix config.
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}