1{
2 lib,
3 extendModules,
4 ...
5}:
6
7let
8 inherit (lib)
9 mkOption
10 mkOverride
11 types
12 ;
13in
14{
15 imports = [
16
17 {
18 options.sub = mkOption {
19 default = { };
20 type = types.submodule (
21 {
22 config,
23 extendModules,
24 ...
25 }:
26 {
27 options.value = mkOption {
28 type = types.int;
29 };
30
31 options.specialisation = mkOption {
32 default = { };
33 inherit
34 (extendModules {
35 modules = [
36 {
37 specialisation = mkOverride 0 { };
38 }
39 ];
40 })
41 type
42 ;
43 };
44 }
45 );
46 };
47 }
48
49 { config.sub.value = 1; }
50
51 ];
52}