42 lines
1,000 B
Plaintext
42 lines
1,000 B
Plaintext
# This is an example of a blank module.
|
|
{ config, lib, ... }:
|
|
|
|
let
|
|
cfg = config.host.services.myModule;
|
|
in
|
|
{
|
|
options = {
|
|
host.services.myModule = {
|
|
enable = lib.mkEnableOption (lib.mdDoc "Enables this example module.");
|
|
attributes = lib.mkOption {
|
|
default = { };
|
|
type = lib.types.attrs;
|
|
description = "An example of an attributes option.";
|
|
};
|
|
string = lib.mkOption {
|
|
default = "";
|
|
type = lib.types.str;
|
|
description = "An example of a string option.";
|
|
};
|
|
list = lib.mkOption {
|
|
default = [ ];
|
|
type = lib.types.listOf lib.types.int;
|
|
description = "An example of a list (of integers) option.";
|
|
};
|
|
enum = mkOption {
|
|
default = "one";
|
|
type = types.enum [
|
|
"one"
|
|
"two"
|
|
];
|
|
description = "An example of an enum option.";
|
|
};
|
|
};
|
|
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
# Add changes applied by this module here.
|
|
};
|
|
}
|