{ lib, ... }: { options.theme = { name = lib.mkOption { type = lib.types.nullOr lib.types.str; description = "Color palette name (fallback when individual colors aren't specified)"; default = null; }; colors = lib.mkOption { type = lib.types.attrs; description = "Base16 color scheme."; default = (import ../colorscheme/gruvbox).dark; }; mode = lib.mkOption { type = lib.types.enum [ "light" "dark" ]; description = "Light or dark mode"; default = "dark"; }; }; }