30 lines
604 B
Nix
30 lines
604 B
Nix
{ config, lib, ... }: let
|
|
inherit (lib) mkOption types;
|
|
in {
|
|
options = {
|
|
vacu.commands = mkOption {
|
|
default = {};
|
|
type = types.attrsOf (types.submodule ({ name, config, options, ... }: {
|
|
options = {
|
|
content = mkOption {
|
|
type = types.str;
|
|
default = "";
|
|
};
|
|
enable = mkOption {
|
|
type = types.bool;
|
|
default = config.content != "";
|
|
defaultText = ''${name}.content != ""'';
|
|
};
|
|
kind = mkOption {
|
|
type = types.enum [ "alias" "function" ];
|
|
default = "alias";
|
|
};
|
|
};
|
|
}));
|
|
};
|
|
};
|
|
config = {
|
|
#todo
|
|
};
|
|
}
|