Available Themes
Kanagawa
Warm and subtle - Inspired by Japanese Sumi Ink paintingsDeep navy backgrounds with soft, muted accent colors reminiscent of traditional Japanese art.
Gruvbox
Retro warm contrast - Classic warm color paletteEarthy browns and warm backgrounds with high contrast, perfect for long coding sessions.
Catppuccin
Pastel perfection - Smooth and creamy colorsSoft pastel colors with a cozy, comfortable aesthetic that’s easy on the eyes.
Everforest
Forest inspired - Natural green tonesComfortable green-focused palette inspired by nature, providing a calming workspace.
What Gets Themed
The theme system applies colors to every component of your desktop environment:Window Manager & Desktop
Window Manager & Desktop
- Hyprland: Window borders, gaps, and accent colors
- Waybar: Status bar background, text, and module colors
- Wofi: Application launcher styling
- SwayNC: Notification center appearance
- Wlogout: Logout menu colors
Terminal & Shell
Terminal & Shell
- Ghostty: Terminal color palette (16 colors + background/foreground)
- Zellij: Terminal multiplexer UI colors
- Cava: Audio visualizer color gradients
Editors & Development
Editors & Development
- Neovim: Editor theme via theme_bridge.lua
- VSCodium: Workspace color theme
- Btop: System monitor colors
Color Scheme Example
Here’s how the Kanagawa theme defines its color palette:Theme Organization
Themes are organized in a consistent structure across all config directories:Each application has a
colors file that points to the active theme, and a custom/ directory containing all available theme definitions.How Themes Work
The theme system uses different strategies based on the application:-
Import-based (Hyprland, Waybar, Wofi, SwayNC, Wlogout)
- Main
colors.conf/colors.cssfile contains an import statement - Points to the selected theme in
custom/directory
- Main
-
Config file reference (Ghostty)
- Uses
config-filedirective to load theme fromcustom/
- Uses
-
Symlink-based (Btop, Cava)
- Active
colors.theme/colorsfile is a symlink to the chosen theme
- Active
-
Bridge file (Neovim)
theme_bridge.luareturns the theme name as a Lua string- LazyVim reads this value to load the appropriate colorscheme
-
JSON editing (VSCodium)
- Theme name is written directly to
settings.json
- Theme name is written directly to
Next Steps
Switch Themes
Learn how to switch themes interactively or via command line
Create Custom Themes
Build your own theme with custom colors and styles