CoolNight Collection¶
The CoolNight Collection is a set of 21 parametrically generated themes designed for extended development sessions. All variants share consistent color relationships derived from the CoolNight Ocean base theme using HSL hue rotation.
Overview¶
CoolNight themes are standalone - they require no external Neovim plugin. Highlight groups are applied directly via Lua without a colorscheme plugin dependency.
Design goals:
- Reduced eye strain - Calibrated contrast ratios for long sessions
- Consistent syntax highlighting - The same color semantics across all 21 variants
- Parametric generation - All variants are mathematically derived from the Ocean base
- Semantic color stability - Error (red), warning (yellow), and cursor colors are fixed across all variants
Color Science¶
HSL Color Space¶
CoolNight uses HSL (Hue, Saturation, Lightness) for color generation:
- Hue - A value from 0-360 degrees that determines the dominant color family
- Saturation - Fixed at calibrated levels (40-70%) to ensure vibrancy without oversaturation
- Lightness - Fixed per semantic role to maintain consistent contrast ratios
The parametric generator rotates all non-semantic colors to a new hue while preserving their saturation and lightness relationships from the Ocean base palette.
Accessibility¶
CoolNight themes maintain WCAG AA contrast ratios (4.5:1 minimum) between foreground text and background colors. Semantic colors (errors, warnings) are never rotated - they retain the original red, green, and yellow values regardless of theme hue.
Complete Collection¶
Blue Family¶
| Theme | Hue | Character | Best For |
|---|---|---|---|
coolnight-arctic |
200° | Ice blue, crisp and clean | TypeScript, Go, documentation |
coolnight-ocean |
210° | Deep blue, the default | General development, Python |
coolnight-midnight |
230° | Dark blue, intense focus | Late-night coding, C++ |
Purple Family¶
| Theme | Hue | Character | Best For |
|---|---|---|---|
coolnight-violet |
280° | Soft violet, gentle on eyes | Web development, CSS |
coolnight-synthwave |
270° | Neon purple, retro vibes | JavaScript, creative coding |
coolnight-grape |
290° | Rich grape, sophisticated | Rust, systems programming |
Green Family¶
| Theme | Hue | Character | Best For |
|---|---|---|---|
coolnight-forest |
140° | Deep forest green, earthy | Bash scripts, DevOps |
coolnight-matrix |
150° | Digital green, high contrast | Terminal work, security |
coolnight-mint |
165° | Fresh mint, modern feel | React, Vue.js |
Warm Family¶
| Theme | Hue | Character | Best For |
|---|---|---|---|
coolnight-ember |
15° | Glowing ember, energetic | Java, Spring Boot |
coolnight-sunset |
25° | Warm orange, inviting | HTML, markup languages |
coolnight-gold |
45° | Golden yellow, premium | Configuration files, YAML |
Red/Pink Family¶
| Theme | Hue | Character | Best For |
|---|---|---|---|
coolnight-crimson |
0° | Deep crimson, bold | Error handling, debugging |
coolnight-sakura |
330° | Cherry blossom, elegant | Design systems |
coolnight-rose |
350° | Rose pink, warm | Personal projects |
Monochrome Family¶
Monochrome variants apply desaturation after hue generation, producing gray-scale or near-gray themes with minimal color distraction.
| Theme | Saturation | Character | Best For |
|---|---|---|---|
coolnight-mono-charcoal |
0% | Pure grayscale | Distraction-free coding |
coolnight-mono-slate |
15% | Subtle blue-gray | Enterprise development |
coolnight-mono-warm |
15% | Subtle warm-gray | Long coding sessions |
nvp theme use coolnight-mono-charcoal
nvp theme use coolnight-mono-slate
nvp theme use coolnight-mono-warm
Semantic colors in monochrome themes
Error, warning, and cursor colors retain their original saturated values even in monochrome variants. This preserves the visual distinction for diagnostics.
Special Variants¶
Variants inspired by well-known themes, adapted to the CoolNight parametric system.
| Theme | Inspiration | Character | Best For |
|---|---|---|---|
coolnight-nord |
Nord theme | Arctic blue-gray, clean | Nordic aesthetic |
coolnight-dracula |
Dracula theme | Rich purple, dark gothic | High-contrast dark work |
coolnight-solarized |
Solarized theme | Blue-cyan, precise | Academic, research |
Usage Recommendations¶
By Development Environment¶
Terminal-heavy workflows:
coolnight-matrix- High contrast greencoolnight-mono-charcoal- Minimal, no distractions
Web development:
coolnight-mint- Modern, freshcoolnight-synthwave- Creative, vibrant
Systems programming:
coolnight-midnight- Deep focuscoolnight-grape- Sophisticated
Documentation writing:
coolnight-arctic- Clean and readablecoolnight-mono-warm- Easy on eyes for long reading
Presentations and screen sharing:
coolnight-ocean- Professional defaultcoolnight-sunset- Warm, welcoming
By Time of Day¶
Morning:
coolnight-arctic- Fresh and energizingcoolnight-mint- Bright start
Daytime:
coolnight-ocean- Balanced and professionalcoolnight-forest- Natural and comfortable
Evening:
coolnight-sunset- Warm transitioncoolnight-ember- Cozy
Late night:
coolnight-midnight- Deep focuscoolnight-mono-slate- Reduced stimulation
Integration with Theme Hierarchy¶
CoolNight variants work well with dvm's hierarchical theme system:
# Set a professional default at ecosystem level
dvm set theme coolnight-ocean --ecosystem corporate
# Use high contrast for security work at domain level
dvm set theme coolnight-matrix --domain security
# Set a creative theme for a specific app
dvm set theme coolnight-synthwave --app creative-tool
# Override for your personal workspace
dvm set theme coolnight-midnight --workspace my-dev
See Theme Hierarchy for the full cascade model.
Troubleshooting¶
Theme Not Applying¶
# Check if the theme is available
nvp theme list | grep coolnight
# View theme details
nvp theme get coolnight-ocean -o yaml
# Regenerate Lua files
nvp generate
Colors Look Wrong in Neovim¶
# Confirm true color support
echo $COLORTERM
# Expected: truecolor
# Check Neovim termguicolors
nvim -c 'set termguicolors?' -c 'q'
Custom Variant Issues¶
# Review the generated theme
nvp theme get my-custom-theme -o yaml
# Regenerate after any changes
nvp generate
Next Steps¶
- Parametric Generator - Create your own CoolNight variant
- Theme Hierarchy - Use themes across your dvm hierarchy
- Commands Reference - Full
nvp themecommand reference