|
54 | 54 |
|
55 | 55 | Evaluates the module along with the core options, using `lib.evalModules` |
56 | 56 |
|
57 | | - Takes a module as its argument. Returns the result from `lib.evalModules` directly. |
| 57 | + Takes a module (or list of modules) as its argument. |
| 58 | + Returns the result from `lib.evalModules` directly. |
58 | 59 |
|
59 | 60 | To submit a module to this repo, this function must be able to evaluate it. |
60 | 61 |
|
|
66 | 67 | */ |
67 | 68 | evalModule = module: wlib.evalModules { modules = toList module; }; |
68 | 69 |
|
| 70 | + /** |
| 71 | + ```nix |
| 72 | + evalProgram = module: (wlib.evalModules { modules = lib.toList module; }).config.wrapper; |
| 73 | + ``` |
| 74 | +
|
| 75 | + Evaluates the module along with the core options, using `lib.evalModules` |
| 76 | +
|
| 77 | + Takes a module (or list of modules) as its argument. |
| 78 | +
|
| 79 | + Returns the final wrapped package from `eval_result.config.wrapper` directly. |
| 80 | +
|
| 81 | + Requires a `pkgs` to be set. |
| 82 | +
|
| 83 | + ```nix |
| 84 | + home.packages = [ |
| 85 | + (wlib.evalProgram [ |
| 86 | + { inherit pkgs; } |
| 87 | + ({ pkgs, wlib, lib, ... }: { |
| 88 | + imports = [ wlib.modules.default ]; |
| 89 | + package = pkgs.yourpackage; |
| 90 | + flags."--config" = ./idk; |
| 91 | + }) |
| 92 | + ]) |
| 93 | + (wlib.evalProgram [ |
| 94 | + { inherit pkgs; } |
| 95 | + ({ pkgs, wlib, lib, ... }: { |
| 96 | + imports = [ wlib.wrapperModules.tmux ]; |
| 97 | + plugins = [ pkgs.tmuxPlugins.onedark-theme ]; |
| 98 | + }) |
| 99 | + ]) |
| 100 | + ]; |
| 101 | + ``` |
| 102 | + */ |
| 103 | + evalProgram = module: (wlib.evalModules { modules = toList module; }).config.wrapper; |
| 104 | + |
69 | 105 | /** |
70 | 106 | Creates a reusable wrapper module. |
71 | 107 |
|
|
106 | 142 | /** |
107 | 143 | Imports `wlib.modules.default` then evaluates the module. It then returns the wrapped package. |
108 | 144 |
|
109 | | - Use this when you want to quickly create a wrapped package directly. Requires a `pkgs` to be set. |
| 145 | + Use this when you want to quickly create a wrapped package directly, which does not have an existing module already. |
| 146 | +
|
| 147 | + Requires a `pkgs` to be set. |
110 | 148 |
|
111 | 149 | Equivalent to: |
112 | 150 |
|
113 | 151 | ```nix |
114 | | - wrapModule = (wlib.evalModule wlib.modules.default).config.wrap; |
| 152 | + wrapPackage = module: wlib.evalProgram ([ wlib.modules.default ] ++ toList module); |
115 | 153 | ``` |
116 | 154 | */ |
117 | | - wrapPackage = |
118 | | - module: |
119 | | - (wlib.evalModules { modules = [ wlib.modules.default ] ++ (toList module); }).config.wrapper; |
| 155 | + wrapPackage = module: wlib.evalProgram ([ wlib.modules.default ] ++ toList module); |
120 | 156 |
|
121 | 157 | /** |
122 | 158 | mkOutOfStoreSymlink :: pkgs -> path -> { out = ...; ... } |
|
0 commit comments