Overview

Getting Started

Peachy Collection is a family of themes that share a single, consistent color palette across your entire development environment. Start with one tool and expand to others whenever you're ready.

Clone the repo

# Clone the collection
git clone https://github.com/Touutae-labs/Peachy-themes.git
cd Peachy-themes

# Generate shared assets (tokens → CSS, JS, JSON)
npm run generate

# Run the full validation suite
npm run check

Editor

VS Code

The flagship Peachy theme ships with two distinct flavors in a single extension. Pick the one that matches your mood.

Install from Marketplace

# Option 1: VS Code Quick Open (Ctrl+P / Cmd+P)
ext install Piros-k.peachy-themes

# Option 2: Command line
code --install-extension Piros-k.peachy-themes

Or search "Peachy Themes" in the Extensions sidebar.

Choose your variant

Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P), search Color Theme, and pick one:

Peachy Themes - Pink

The original vibrant theme. Hot pinks, golden yellows, lavender types, and bold syntax. The same theme 3,600+ users already love.

Legacy

Peachy Themes - Peach

A softer, cohesive variant built from the Peachy design token system. 210 UI colors, semantic highlighting, and expanded language coverage.

New in 0.2.0

What's covered

Both variants include:

  • Workbench UI surfaces: editor, sidebar, tabs, notifications, terminal
  • Language-aware syntax rules for JavaScript, TypeScript, JSON, Markdown, Python, Shell, Rust, Go, and more

The Peach variant additionally includes:

  • Semantic highlighting for classes, decorators, enums, interfaces, and related symbol types
  • Bracket pair colorization with Peachy colors
  • Extended inlay hint, widget, and notification styling

Editor

LazyVim / Neovim

A Lua colorscheme for Neovim with two variants — matching the VS Code experience.

Install

Copy the theme into your Neovim config:

-- Copy the folder into your config
cp -r packages/lazyvim/lua/peachy ~/.config/nvim/lua/

-- Load the Peach variant (default)
require("peachy").setup()

-- Or load the Pink variant
require("peachy").setup({ variant = "pink" })

Peach

Softer token-based palette — peach strings, cream functions, mint keywords.

Default

Pink

Original vibrant palette — hot pink keywords, golden functions, lavender types.

Legacy

What's covered

  • Normal, Float, Cursor, Search, Visual highlight groups
  • Full Treesitter scopes (@property, @tag, @function, @keyword…)
  • LSP diagnostics (Error, Warn, Info, Hint)
  • Git signs and diff colors
  • Pmenu, TabLine, StatusLine

Terminal

Oh My Posh

A prompt theme with segments for session, path, git, and Node.js — two variants to match your editor.

Install

# Peach variant (softer palette)
cp packages/oh-my-posh/peach.omp.json ~/.config/

# Or Pink variant (vibrant palette)
cp packages/oh-my-posh/pink.omp.json ~/.config/

# Add to your shell profile (.bashrc, .zshrc, etc.)
eval "$(oh-my-posh init zsh --config ~/.config/peach.omp.json)"

Peach

Peach session, cream git, mint Node.js — calm and cohesive.

Default

Pink

Hot pink session, golden git, lavender Node.js — energetic and bold.

Legacy

Segments

  • Session — username on accent background
  • Path — current directory with folder icon
  • Git — branch name with dirty state indicator
  • Node — Node.js version
  • Execution time — right-aligned
  • Exit status — right-aligned, rose on error

Terminal

WezTerm

A complete terminal color scheme with two variants — ANSI colors, tab bar styling, and selection highlights.

Install

-- Copy either peach.lua or pink.lua to your config
cp packages/wezterm/peach.lua ~/.config/wezterm/peachy.lua
-- or: cp packages/wezterm/pink.lua ~/.config/wezterm/peachy.lua

-- In your wezterm.lua:
local peachy = dofile(
  os.getenv("HOME") .. "/.config/wezterm/peachy.lua"
)

return {
  colors = peachy,
}

Peach

Soft peach tabs, cream brights, mint accents — matches the Peach editor variant.

Default

Pink

Hot pink tabs, golden brights, lavender accents — matches the Pink editor variant.

Legacy

What's covered

  • Foreground, background, cursor, and selection colors
  • 8 standard + 8 bright ANSI colors
  • Indexed colors for accent tones
  • Tab bar colors (active, inactive, hover)
  • Copy mode and quick select mode highlights

System

Design Tokens

The single source of truth for the entire Peachy palette. Every theme and app is derived from this one file.

Structure

// packages/tokens/peachy.tokens.json
{
  "name": "Peachy",
  "colors": {
    "peach.500": "#ff928b",
    "cream.300": "#efe9ae",
    "mint.300": "#cdeac0",
    // ... 19 colors total
  },
  "roles": {
    "accent.primary": "peach.500",
    "accent.syntax.keyword": "mint.300",
    // ... semantic role mappings
  }
}

Generated outputs

  • peachy.json — JSON for programmatic use
  • peachy.css — CSS custom properties (:root { --peach: #ff928b; })
  • palette.js — Browser-ready JS object for the site and playground

System

Generator

The build script that reads tokens and produces all shared assets.

# Generate all shared assets
npm run generate

# Check that generated files are up-to-date (CI uses this)
npm run generate:check

# Full validation: generate + validate JSON + audit contrast
npm run check

What it produces

  • packages/tokens/dist/peachy.json + peachy.css
  • apps/site/generated/tokens.css + palette.js
  • apps/playground/generated/tokens.css + palette.js

Community

Contributing

Peachy Collection is open source. Here's how to contribute:

Adding or adjusting colors

  1. Edit packages/tokens/peachy.tokens.json
  2. Run npm run generate to propagate changes
  3. Run npm run check to validate contrast ratios
  4. Open a pull request and use the GitHub Actions preview artifact for review

Adding a new port

  1. Create a new folder under packages/
  2. Import colors from the generated token files
  3. Add validation to the CI workflow if applicable
  4. Document the install steps in the docs page