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.
brew install rose-pine/tap/bloom# 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-bloomPre-built binaries are also available on the releases page.
Create a template:
# template.yaml
name: $name
background: $base
foreground: $roseBuild it:
bloom build template.yamlIf you already have a theme, convert it with bloom init theme.json. You can also build from a directory: bloom build templates/.
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.
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) |
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
Change variable prefix:
bloom build template.json --prefix @Change the output destination:
bloom build template.json --out themesSpecify one of the supported formats:
bloom build template.json --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.
We welcome and appreciate contributions of any kind. Please create an issue for any proposed changes.