Go
June 28, 2026 · View on GitHub
Rosé Pine Bloom
All natural pine, faux fur and a bit of soho vibes for the classy minimalist
Bloom is an opinionated theme generator, matching the Rosé Pine style guide.
Install
Homebrew
brew install rose-pine/tap/bloom
Other methods
# Goblin (zero-dependency)
curl -sf http://goblin.run/github.com/rose-pine/rose-pine-bloom | OUT=bloom sh
# Go
go install github.com/rose-pine/rose-pine-bloom@latest
# Arch Linux (community AUR)
yay -S rose-pine-bloom
Pre-built binaries are also available on the releases page.
Usage
Create a template:
# template.yaml
name: $name
background: $base
foreground: $rose
Build it:
bloom build template.yaml
If you already have a theme, convert it with bloom init theme.yaml. You can also build from a directory: bloom build templates/.
Templates
Variables
By default, variables are prefixed with $.
| Variable | Resolves to |
|---|---|
$id | rose-pine, rose-pine-moon, rose-pine-dawn |
$name | Rosé Pine, Rosé Pine Moon, Rosé Pine Dawn |
$appearance | dark, dark, light |
$description | All natural pine, faux fur and a bit of soho vibes for the classy minimalist |
Every colour in the Rosé Pine palette is available as a variable — $base, $surface, $overlay, $muted, $subtle, $text, $love, $gold, $rose, $pine, $foam, $iris, $highlightLow, $highlightMed, $highlightHigh. Control opacity by appending a value, e.g. $love/10 for 10% opacity.
Accents
Using $accent generates variants for each accent colour. The accent name is appended to the filename, e.g. rose-pine-gold.yaml.
| Variable | Description |
|---|---|
$accent | Accent colour value |
$onaccent | Contrasting foreground colour |
$accentname | Lowercase accent name (e.g. gold) |
Variant values
For variant-specific values, use the $(main|moon|dawn) syntax. Variables are also allowed inside the variant values.
priority: $(10|20|30)→priority: 10in rose-pine,20in rose-pine-moon,30in rose-pine-dawnbackground: $($rose|$pine|$gold)→background: #ebbcbain rose-pine,#3e8fb0in rose-pine-moon,#ea9d34in rose-pine-dawn
Options
Prefix
Change variable prefix:
bloom build template.yaml --prefix @
Output
Change the output destination:
bloom build template.yaml --out themes
Format
Specify one of the supported formats:
bloom build template.yaml --format <format>
Available formats:
| Name | Example |
|---|---|
hex | #ebbcba |
hsl | hsl(2, 55%, 83%) |
hsl-css | hsl(2deg 55% 83%) |
hsl-array | [2, 0.55, 0.83] |
rgb | rgb(235, 188, 186) |
rgb-css | rgb(235 188 186) |
rgb-array | [235, 188, 186] |
ansi | 235;188;186 |
Commas and spaces can be removed by passing --no-commas and --no-spaces. Decorators (#, rgb(), hsl(), brackets) can be removed by passing --plain.
Contributing
We welcome and appreciate contributions of any kind. Please create an issue for any proposed changes.