{ config, lib, ... }: with lib; { options.colorScheme = { palette = mkOption { type = types.attrs; default = { range = { min = 0.675; max = 0.875; }; steps = 5; gray = "#5A6673"; red = "#F07178"; pink = "#F29668"; orange = "#FF8F40"; peach = "#E6C08A"; yellow = "#FFB454"; green = "#AAD94C"; teal = "#95E6CB"; indigo = "#39BAE6"; blue = "#59C2FF"; purple = "#D2A6FF"; }; }; syntax = mkOption { type = types.attrs; default = { tag = "#39BAE6"; func = "#FFB454"; entity = "#59C2FF"; string = "#AAD94C"; regexp = "#95E6CB"; markup = "#F07178"; keyword = "#FF8F40"; special = "#E6C08A"; comment = "#5A6673"; constant = "#D2A6FF"; operator = "#F29668"; }; }; terminal = mkOption { type = types.attrs; default = { black = "#0A0000"; red = "#E0656E"; green = "#9DC842"; yellow = "#F5A94A"; blue = "#4FB8F5"; magenta = "#C89CF5"; cyan = "#8BDCC1"; white = "#FFFFFF"; brightBlack = "#0A0000"; brightRed = "#F07178"; brightGreen = "#AAD94C"; brightYellow = "#FFB454"; brightBlue = "#59C2FF"; brightMagenta = "#D2A6FF"; brightCyan = "#95E6CB"; brightWhite = "#FFFFFF"; }; }; vcs = mkOption { type = types.attrs; default = { added = "#70BF56"; modified = "#73B8FF"; removed = "#F26D78"; }; }; surface = mkOption { type = types.attrs; default = { sunk = "#030609"; base = "#0D1017"; lift = "#10141C"; over = "#FFFFFF"; }; }; editor = mkOption { type = types.attrs; default = { fg = "#BFBDB6"; bg = "#10141C"; line = "#161A24"; selection = { active = "#3388FF"; activeAlpha = "#40"; inactive = "#80B5FF"; inactiveAlpha = "#26"; }; findMatch = { active = "#4C4126"; activeAlpha = "#FF"; inactive = "#4C4126"; inactiveAlpha = "#80"; }; lineNumber = { active = "#5A6378"; activeAlpha = "#FF"; normal = "#5A6378"; normalAlpha = "#A6"; }; indentGuide = { active = "#5A6378"; activeAlpha = "#A1"; normal = "#5A6378"; normalAlpha = "#42"; }; }; }; ui = mkOption { type = types.attrs; default = { fg = "#5A6378"; bg = "#0D1017"; line = "#1B1F29"; selection = { active = "#475266"; activeAlpha = "#40"; normal = "#475266"; normalAlpha = "#33"; }; panel = { bg = "#141821"; shadow = "#000000"; shadowAlpha = "#80"; }; popup = { bg = "#0F131A"; shadow = "#000000"; shadowAlpha = "#80"; }; }; }; common = mkOption { type = types.attrs; default = { accent = { tint = "#E6B450"; on = "#9E7833"; }; error = "#D95757"; }; }; }; }