sageveil
A minimalist, low-contrast, green-tinted colorscheme.
Easy on the eyes. Quiet by design. Grown from one palette, ported everywhere.
The palette
One source of truth. Every port grows from these colors.
| Base | Bright | ||
|---|---|---|---|
black |
#101310 |
black |
#262F26 |
red |
#9A6B6B |
red |
#B08585 |
green |
#959C70 |
green |
#9C9F7F |
yellow |
#A69966 |
yellow |
#C6B67E |
blue |
#8A8493 |
blue |
#A39DAC |
magenta |
#876F7F |
magenta |
#947E8D |
cyan |
#7F9476 |
cyan |
#9AAB90 |
white |
#A8AFA6 |
white |
#C3CDC0 |
Ports
Sageveil already grows in 19 places:
alacritty · css · fzf · ghostty · glamour · helix · ish · iterm2 · k9s · kitty · nvim · obsidian · pi · slack · text-mate · tmux · vscode · wezterm · zed
Don't see your tool? Grow a new one.
How it's grown
A monorepo where every theme sprouts from one palette:
- shared color palette in
packages/palette— the seed - shared render scripts in
tools/scripts— the soil - ports in
packages/ports/*— what blooms
Get the builds
Prebuilt artifacts
Each port lives in its own repository, ready to clone:
https://github.com/sageveil/<port>
Grab the repo for your target port and you're done — no build step.
Build from source
Install dependencies once:
pnpm installOr via
just:just initGenerate artifacts for a port:
pnpm nx run <port>:generateOr via
just:just generate <port>Find rendered artifacts under:
dist/ports/<port>
Note: build artifacts in dist/ports/* are not committed to this monorepo.
Distribution happens via dedicated port repositories.
Create a new port
Generate a new port package with Sageveil defaults:
pnpm nx g @sageveil/nx:port --name <port>
Or via just:
just new-port <port>
What the generator does:
- creates a new port under
packages/ports/<port> - scaffolds a flat template-only package with
templates/ - adds
sageveilmetadata in the portpackage.json - runs
pnpm installafter generation (unless skipped)
Optional metadata and template customization:
pnpm nx g @sageveil/nx:port --name <port> --displayName "<Display Name>" --description "<description>" --tags terminal --tags emulator --templateFile sageveil.eta
Useful flags:
--skipInstallto skip runningpnpm install--skipFormatto skip formatting generated files
Generator options:
| Option | Type | Default | Description |
|---|---|---|---|
--name |
string |
required | Port name used for directory and package name. |
--displayName |
string |
<port> |
Human-readable name stored in package.json under sageveil.displayName. |
--description |
string |
none | Optional description stored in package.json under sageveil.description. |
--tags |
string[] |
none | Optional sageveil.tags values. Pass multiple times, e.g. --tags terminal --tags emulator. |
--templateFile |
string |
sageveil.eta |
Template filename created in templates/. |
--skipInstall |
boolean |
false |
Skip the post-generation dependency install. |
--skipFormat |
boolean |
false |
Skip formatting generated files. |
Contributing
sageveil is under active development, and contributions are welcome — new ports especially.
To contribute:
- Open an issue describing the change, bug, or new port.
- Make your update in the relevant package under
packages/*. - Run checks before opening a PR:
pnpm nx run <project>:lintfor code-bearing projectspnpm nx run <project>:typecheckpnpm nx run <project>:test(if applicable for non-port code packages)
- Do not commit generated artifacts from
dist/ports/*to this monorepo.
Available just recipes from the repo root:
just --list
Available recipes:
clean port # Clean generated artifacts for a port project.
clean-all # Clean generated artifacts for all port projects.
default
generate port # Generate artifacts for a port project.
generate-all # Generate artifacts for all ports. [alias: g]
init # Install workspace dependencies.
lint project # Run lint for a single project.
lint-all # Run lint for all projects.
new-port name *args='' # Create a new port package.
projects # Show available Nx projects.
site-build # Build the site.
site-dev # Start the site dev server.
site-generate-ports # Generate the site port manifest.
site-preview # Preview the site production build.
test project # Run tests for a single project.
test-all # Run all tests.
typecheck project # Run typecheck for a single project.
Thanks for growing the garden