43 lines
1.0 KiB
Nix
43 lines
1.0 KiB
Nix
{ lib, ... }:
|
|
let
|
|
inherit (lib) mkOption;
|
|
inherit (lib) types;
|
|
in
|
|
{
|
|
options = {
|
|
name = mkOption {
|
|
description = ''
|
|
The name of the module
|
|
|
|
Mainly used to create an error context while evaluating.
|
|
This helps backtracking which module was included; And where an error came from originally.
|
|
'';
|
|
type = types.str;
|
|
};
|
|
features = mkOption {
|
|
description = ''
|
|
Enable built-in features for the module
|
|
|
|
See the documentation for each feature:
|
|
- API
|
|
'';
|
|
type = types.submoduleWith {
|
|
modules = [
|
|
{
|
|
options.API = mkOption {
|
|
type = types.bool;
|
|
# This is read only, because we don't support turning it off yet
|
|
readOnly = true;
|
|
default = true;
|
|
description = ''
|
|
Enables automatic API schema conversion for the interface of this module.
|
|
'';
|
|
};
|
|
}
|
|
];
|
|
};
|
|
default = { };
|
|
};
|
|
};
|
|
}
|