# Theme based on https://github.com/catppuccin/catppuccin
let
  p = {
    rosewater = "#f5e0dc";
    flamingo = "#f2cdcd";
    pink = "#f5c2e7";
    mauve = "#cba6f7";
    red = "#f38ba8";
    maroon = "#eba0ac";
    peach = "#fab387";
    yellow = "#f9e2af";
    green = "#a6e3a1";
    teal = "#94e2d5";
    sky = "#89dceb";
    sapphire = "#74c7ec";
    blue = "#89b4fa";
    lavender = "#b4befe";
    text = "#cdd6f4";
    subtext1 = "#bac2de";
    subtext0 = "#a6adc8";
    overlay2 = "#9399b2";
    overlay1 = "#7f849c";
    overlay0 = "#6c7086";
    surface2 = "#585b70";
    surface1 = "#45475a";
    surface0 = "#313244";
    base = "#1e1e2e";
    mantle = "#181825";
    crust = "#11111b";
  };
in {
  primary = {
    background = p.base;
    foreground = p.text;
  };

  secondary = {
    background = p.rosewater;
    foreground = p.base;
  };

  dark = {
    black = p.surface1;
    red = p.red;
    green = p.green;
    yellow = p.yellow;
    blue = p.blue;
    magenta = p.pink;
    cyan = p.teal;
    white = p.subtext1;

    orange = p.peach;
  };

  bright = {
    black = p.surface2;
    red = p.red;
    green = p.green;
    yellow = p.yellow;
    blue = p.blue;
    magenta = p.pink;
    cyan = p.teal;
    white = p.subtext0;

    orange = p.peach;
  };

  extra = {
    idx16 = p.peach;
    idx17 = p.rosewater;
  };

  apps = {
    helix = import ./helix.nix p;
    qutebrowser = import ./qutebrowser.nix p;
    zellij = import ./zellij.nix p;
  };
}