stylix: reduce testbed names

This commit is contained in:
Flameopathic 2025-04-04 20:00:22 -04:00
parent 34b5930894
commit 2b7ff59d81
3 changed files with 53 additions and 42 deletions

View file

@ -40,7 +40,7 @@ philosophy.
Try a live demo of this dark theme by running:
```console
nix run github:nix-community/stylix#testbed:gnome:default:dark:image:scheme:cursor
nix run github:nix-community/stylix#testbed:gnome:dark
```
### KDE Plasma 5

View file

@ -52,25 +52,25 @@ github:nix-community/stylix
└───x86_64-linux
├───docs: package 'stylix-book'
├───palette-generator: package 'palette-generator'
├───"testbed:gnome:default:dark:image:scheme:cursor": package 'testbed-gnome-default-dark-image-scheme-cursor'
├───"testbed:gnome:default:dark:image:scheme:cursorless": package 'testbed-gnome-default-dark-image-scheme-cursorless'
├───"testbed:gnome:default:dark:image:schemeless:cursorless": package 'testbed-gnome-default-dark-image-schemeless-cursorless'
├───"testbed:gnome:default:dark:imageless:scheme:cursorless": package 'testbed-gnome-default-dark-imageless-scheme-cursorless'
├───"testbed:gnome:default:light:image:scheme:cursorless": package 'testbed-gnome-default-light-image-scheme-cursorless'
├───"testbed:kde:default:dark:image:scheme:cursor": package 'testbed-kde-default-dark-image-scheme-cursor'
├───"testbed:kde:default:dark:image:scheme:cursorless": package 'testbed-kde-default-dark-image-scheme-cursorless'
├───"testbed:kde:default:dark:image:schemeless:cursorless": package 'testbed-kde-default-dark-image-schemeless-cursorless'
├───"testbed:kde:default:dark:imageless:scheme:cursorless": package 'testbed-kde-default-dark-imageless-scheme-cursorless'
└───"testbed:kde:default:light:image:scheme:cursorless": package 'testbed-kde-default-light-image-scheme-cursorless'
├───"testbed:gnome:cursorless": package 'testbed-gnome-cursorless'
├───"testbed:gnome:dark": package 'testbed-gnome-dark'
├───"testbed:gnome:imageless": package 'testbed-gnome-imageless'
├───"testbed:gnome:light": package 'testbed-gnome-light'
├───"testbed:gnome:schemeless": package 'testbed-gnome-schemeless'
├───"testbed:kde:cursorless": package 'testbed-kde-cursorless'
├───"testbed:kde:dark": package 'testbed-kde-dark'
├───"testbed:kde:imageless": package 'testbed-kde-imageless'
├───"testbed:kde:light": package 'testbed-kde-light'
└───"testbed:kde:schemeless": package 'testbed-kde-schemeless'
```
(This has been edited down to only the relevant parts.)
To start a testbed, each of which is named in the format
`testbed:«module»:«testbed»:«polarity»`, run the following command:
`testbed:«module»:«testcase»`, run the following command:
```console
user@host:~$ nix run .#testbed:«module»:«testbed»:«polarity»:«image»:«scheme»:«cursor»
user@host:~$ nix run .#testbed:«module»:«testcase»
```
Any package with a name not fitting the given format is not a testbed, and may

View file

@ -242,7 +242,7 @@ let
];
makeTestbed =
testbed: stylix:
testbed: testcase: stylix:
let
name =
lib.concatMapStringsSep testbedFieldSeparator
@ -254,12 +254,8 @@ let
)
[
"testbed"
testbed.module
testbed.name
stylix.polarity
"image${lib.optionalString (stylix.image or null == null) "less"}"
"scheme${lib.optionalString (stylix.base16Scheme or null == null) "less"}"
"cursor${lib.optionalString (stylix.cursor or null == null) "less"}"
(if testbed.name == "default" then testbed.module else testbed.name)
testcase
];
system = lib.nixosSystem {
@ -321,30 +317,19 @@ let
};
in
testbed:
map (makeTestbed testbed) [
{
lib.mapAttrsToList (makeTestbed testbed) {
light = {
enable = true;
image = images.light;
base16Scheme = "${inputs.tinted-schemes}/base16/catppuccin-latte.yaml";
polarity = "light";
}
{
enable = true;
image = images.dark;
base16Scheme = "${inputs.tinted-schemes}/base16/catppuccin-macchiato.yaml";
polarity = "dark";
}
{
enable = true;
base16Scheme = "${inputs.tinted-schemes}/base16/catppuccin-macchiato.yaml";
polarity = "dark";
}
{
enable = true;
image = images.dark;
polarity = "dark";
}
{
cursor = {
name = "Vanilla-DMZ";
package = pkgs.vanilla-dmz;
size = 32;
};
};
dark = {
enable = true;
image = images.dark;
base16Scheme = "${inputs.tinted-schemes}/base16/catppuccin-macchiato.yaml";
@ -354,8 +339,34 @@ let
package = pkgs.vanilla-dmz;
size = 32;
};
}
];
};
imageless = {
enable = true;
base16Scheme = "${inputs.tinted-schemes}/base16/catppuccin-macchiato.yaml";
polarity = "dark";
cursor = {
name = "Vanilla-DMZ";
package = pkgs.vanilla-dmz;
size = 32;
};
};
schemeless = {
enable = true;
image = images.dark;
polarity = "dark";
cursor = {
name = "Vanilla-DMZ";
package = pkgs.vanilla-dmz;
size = 32;
};
};
cursorless = {
enable = true;
image = images.dark;
base16Scheme = "${inputs.tinted-schemes}/base16/catppuccin-macchiato.yaml";
polarity = "dark";
};
};
in
# Testbeds are merged using lib.attrsets.unionOfDisjoint to throw an error if