47 lines
938 B
Nix
47 lines
938 B
Nix
{lib, ...}: let
|
|
inherit (lib) mkOption types;
|
|
in {
|
|
options = {
|
|
services = mkOption {
|
|
type = types.attrsOf (types.submodule ({name, ...}: {
|
|
options = {
|
|
name = mkOption {
|
|
type = types.str;
|
|
default = name;
|
|
};
|
|
|
|
protocol = mkOption {
|
|
type = types.str;
|
|
default = "http";
|
|
};
|
|
|
|
host = mkOption {
|
|
type = types.str;
|
|
default = "[::1]";
|
|
};
|
|
|
|
port = mkOption {
|
|
type = types.port;
|
|
};
|
|
};
|
|
}));
|
|
default = {};
|
|
};
|
|
|
|
functions = mkOption {
|
|
type = types.attrsOf (types.submodule ({name, ...}: {
|
|
options = {
|
|
name = mkOption {
|
|
type = types.str;
|
|
default = name;
|
|
};
|
|
|
|
body = mkOption {
|
|
type = types.str;
|
|
};
|
|
};
|
|
}));
|
|
default = {};
|
|
};
|
|
};
|
|
}
|