#sass #color #plugin #dictionary #map #file #stylesheet #output #grass #color-names

app luthien-sass

Luthien plugin which compiles Sass stylesheets

1 unstable release

0.1.0 May 18, 2021

MIT license

68 lines

Luthien Stylesheets

luthien-sass enables you to generate complex stylesheets with Luthien theme data. Stylesheets are written in Sass, so complex color adjustment and logic is also possible.


Install using Cargo from Crates.io:

cargo install luthien-sass


Add a plugin to your Luthien config:

executable = "~/.cargo/bin/luthien-sass"

Writing Stylesheets

Sass stylesheets in the plugin's config directory (should be something like ~/.config/luthien/plugins/sass) will be compiled using grass. It has near feature-parity with Dart Sass; see its documention for more details.

To access theme data, you can import a module called luthien. This module is also output in the output directory (~/.local/share/luthien/outputs/plugins/sass/ on most Unix-like systems). The module contains the following variables:

  • luthien.$wallpaper: A url() to the wallpaper image.
  • luthien.$palette: A map of color names to colors. The following keys are included:
    • black
    • red
    • green
    • yellow
    • blue
    • purple
    • cyan
    • white
  • luthien.$accents: A list of accent colors in descending order of importance. It should have at least six elements.
  • luthien.$foreground: The foreground color.
  • luthien.$background: The background color.


After a stylesheet is compiled with grass, the output is written to a file with the same name in the output directory, but with the css extension. For instance a stylesheet named colors.scss would be output as a file named colors.css.


~133K SLoC