1{ lib, options, ... }:
2let
3 foo = lib.mkOptionType {
4 name = "foo";
5 functor = lib.types.defaultFunctor "foo" // {
6 wrapped = lib.types.int;
7 payload = 10;
8 };
9 };
10in
11{
12 imports = [
13 {
14 options.foo = lib.mkOption {
15 type = foo;
16 };
17 }
18 {
19 options.foo = lib.mkOption {
20 type = foo;
21 };
22 }
23 ];
24
25 options.result = lib.mkOption {
26 default = builtins.seq options.foo null;
27 };
28}