1
0
Fork 0
mirror of https://git.sr.ht/~neverness/ultima synced 2024-12-28 10:33:52 +00:00
ultima/libx/options.nix
2024-12-09 10:15:55 +09:00

22 lines
570 B
Nix

{ lib, ... }:
with lib;
let
def = { default = false; };
null = { default = null; };
in with types; {
# enable = true; ++ enable = false;
True = { enable = true; };
False = { enable = false; };
# mkOption and mkEnableOption
mkEnable = mkEnableOption "";
mkBool = mkOption def // { type = bool; };
mkOpt = {
str = mkOption def // { type = str; };
list = {
pkgs = mkOption null // { type = listOf package; };
str = mkOption null // { type = listOf str; };
};
attrs = { str = mkOption null // { type = attrsOf str; }; };
};
}