Extensive Base16 and Base24 library for Nix.
Find a file
2024-06-22 03:25:56 +00:00
.github/workflows CI: run weekly 2024-05-11 04:38:46 +03:00
json CI: update JSON schemes 2024-06-22 03:25:56 +00:00
packages/convert-scheme Initial commit 2024-05-11 03:13:06 +03:00
default.nix add flake-compat 2024-05-11 04:54:22 +03:00
flake.lock flake: eval scheme data 2024-05-11 04:30:52 +03:00
flake.nix expose evalSchemeData function 2024-05-11 04:54:47 +03:00
LICENSE Initial commit 2024-05-11 03:13:06 +03:00
README.md document usage 2024-05-11 04:54:30 +03:00

Basix

An over-engineered Nix flake for all Base16 and Base24 themes from tinted-theming/schemes, exposed as one convenient library.

How does it work?

For some obscure reason1 all schemes provided by tinted-theming is in YAML under one unified repository. We convert each YAML scheme to JSON to ensure the schemes are in a format Nix can read, then read them and expose them under a flake output.

How do I use this?

Basix be used as a flake input, or imported from a tarball.

To get a colorscheme, import either schemeData.base16 or schemeData.base24 from the outputs from this flake to import the colorschemes for yourself.

nix-repl> :p schemeData.base16.decaf
{
  author = "Alex Mirrington (https://github.com/alexmirrington)";
  name = "Decaf";
  palette = {
    base00 = "2d2d2d";
    base01 = "393939";
    base02 = "515151";
    base03 = "777777";
    base04 = "b4b7b4";
    base05 = "cccccc";
    base06 = "e0e0e0";
    base07 = "ffffff";
    base08 = "ff7f7b";
    base09 = "ffbf70";
    base0A = "ffd67c";
    base0B = "beda78";
    base0C = "bed6ff";
    base0D = "90bee1";
    base0E = "efb3f7";
    base0F = "ff93b3";
  };
  system = "base16";
  variant = "dark";
}

Credits

License

Licensed under the GNU General Public License v3.0.


  1. I'm being generous here. The obscure reason is the myth that YAML is human readable. Guess what? It is actually nowhere near human readable and you should avoid it ↩︎