{ 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; }; }; }; }