1{ config, lib, ... }:
2let
3 inherit (lib)
4 types
5 mkOption
6 setDefaultModuleLocation
7 evalModules
8 ;
9 inherit (types)
10 deferredModule
11 lazyAttrsOf
12 submodule
13 str
14 raw
15 enum
16 ;
17in
18{
19 options = {
20 deferred = mkOption {
21 type = deferredModule;
22 };
23 result = mkOption {
24 default = (evalModules { modules = [ config.deferred ]; }).config.result;
25 };
26 };
27 config = {
28 deferred =
29 { ... }:
30 # this should be an attrset, so this fails
31 true;
32 };
33}