From 2b7ff59d813d5b243eae5981ca3a598d65c1a352 Mon Sep 17 00:00:00 2001 From: Flameopathic Date: Fri, 4 Apr 2025 20:00:22 -0400 Subject: [PATCH] stylix: reduce testbed names --- README.md | 2 +- doc/src/testbeds.md | 24 ++++++++-------- stylix/testbed.nix | 69 ++++++++++++++++++++++++++------------------- 3 files changed, 53 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 11715bc0..7dd77022 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/doc/src/testbeds.md b/doc/src/testbeds.md index 8a263f1d..2c614e19 100644 --- a/doc/src/testbeds.md +++ b/doc/src/testbeds.md @@ -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 diff --git a/stylix/testbed.nix b/stylix/testbed.nix index 5b2e84aa..64971b27 100644 --- a/stylix/testbed.nix +++ b/stylix/testbed.nix @@ -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