Skip to content

chapmandu/rust-in-peace

Repository files navigation

Rust in Peace — a dark theme for VS Code

A dark theme for VS Code, inspired by the album art of Megadeth's 1990 metal masterpiece, Rust in Peace.

CI Marketplace Installs



Colour Palette

The complete palette, including ANSI terminal colours, lives in src/palette.json — the single source of truth the VS Code theme, its lighter variants, and everything below are generated from at build time.


Rust in Peace album cover

Hand-picked from the record's rusted, cobalt-blue cover art.


Rust in Peace
Rust in Peace
Hangar 18
Rust in Peace Hangar 18

Polaris
Rust in Peace Polaris
Dawn Patrol
Rust in Peace Dawn Patrol


Installation

Install straight from the Visual Studio Marketplace, or from inside the editor:

  1. Open the Extensions sidebar in VS Code — View → Extensions
  2. Search for Megadeth (curse you, rust-lang!!!)
  3. Click Install
  4. Code → Preferences → Color Theme → Rust in Peace — or one of its lighter variants, Hangar 18 (a subtle lift) and Polaris (lighter still), or Dawn Patrol, the light theme

Companion themes

The VS Code theme isn't the only target. src/palette.json is the single source of truth, and matching themes for other tools are generated from it into ports/. Every target ships all four variants — core, Hangar 18, Polaris, and Dawn Patrol (light) — as separate files, except Zed, whose single file is a theme family carrying all four:

Tool Generated files
Helix ports/helix/*.toml
Herdr ports/herdr/*.toml
Zed ports/zed/rust-in-peace.json
Zellij ports/zellij/*.kdl
Ptyxis ports/ptyxis/*.palette

Copy the relevant file into your tool's theme directory, then select rust-in-peace (or a variant slug). Run just build-ports to regenerate them all after a palette change.

Herdr has no standalone theme files — its files are config fragments to merge into ~/.config/herdr/config.toml, recolouring the tokyo-night base theme (tokyo-night-day for Dawn Patrol).

To add another target, drop a generator in scripts/targets/ and register it in scripts/build_ports.py; it reuses the shared palette loader and resolver in scripts/palette.py.


Contributing

To work on the theme:

  1. Clone this repo and open it in VS Code
  2. Open View → Run
  3. Click Launch Extension — this opens a second VS Code window
  4. Target scopes with the Developer: Inspect Editor Tokens and Scopes command
  5. Edit src/rust-in-peace.yml and run npm run build; changes appear live in the window from step 3

Colours live in src/palette.json; src/rust-in-peace.yml maps them onto VS Code keys via {{group.key}} placeholders. Edit the palette to shift a colour everywhere at once.

Please include before & after screenshots of your changes in pull requests.

Maintainer & publishing notes

Recipes

Local tasks run through just — run just to list them all.

Recipe Purpose
just check Run the full code-quality suite (lint, types, tests + coverage, dead code, duplication, secrets)
just build Regenerate the theme JSON from the YAML source
just build-ports Regenerate the companion themes (Helix, Herdr, Zed, Zellij, Ptyxis)
just install Build, package, and install the extension into local VS Code
just publish-patch Bump the patch version, tag, and push to publish
just publish-minor Bump the minor version, tag, and push to publish

Manual publishing

just publish-patch / just publish-minor cover steps 1–5 below; run them by hand if you'd rather not use just.

  1. Bump the version in package.json
  2. git commit -m 'Fire' — commit the changes
  3. git tag v2.0.666 — tag the commit with the version number
  4. git push origin --tags — push the tag
  5. git push — push the changes
  6. Create a release on GitHub with the same version number
  7. GitHub Actions publishes the extension to the marketplace
  8. Profit!


Also check out the Slayer Reign in Blood theme.

About

A dark VSCode theme inspired by the album art of Megadeth's 1990 metal masterpiece, Rust in Peace.

Resources

License

Contributing

Stars

3 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors