1
0
Fork 0
mirror of https://git.sr.ht/~neverness/ultima synced 2024-12-28 11:53:52 +00:00
ultima/libx/options.nix
2024-12-21 18:11:03 +09:00

53 lines
834 B
Nix

{
theme,
inputs,
pkgs,
lib,
...
}:
let
def = {
default = false;
};
null = {
default = null;
};
in
with lib;
with lib.types;
{
# ylib & stylix
umport = inputs.nypkgs.legacyPackages.${pkgs.system}.lib.umport;
base16 = "${inputs.design}/base16/${theme}.yaml";
# 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;
};
};
};
}