From 2b7ff59d813d5b243eae5981ca3a598d65c1a352 Mon Sep 17 00:00:00 2001 From: Flameopathic Date: Fri, 4 Apr 2025 20:00:22 -0400 Subject: [PATCH 1/2] 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 From 17398c4fce431ddda8027b00634393e803576d05 Mon Sep 17 00:00:00 2001 From: Flameopathic Date: Tue, 6 May 2025 14:22:13 -0400 Subject: [PATCH 2/2] treewide: name default testbeds --- modules/alacritty/testbeds/{default.nix => alacritty.nix} | 0 modules/bat/testbeds/{default.nix => bat.nix} | 0 modules/bspwm/testbeds/{default.nix => bspwm.nix} | 0 modules/btop/testbeds/{default.nix => btop.nix} | 0 modules/cavalier/testbeds/{default.nix => cavalier.nix} | 0 modules/chromium/testbeds/{default.nix => chromium.nix} | 0 modules/emacs/testbeds/{default.nix => emacs.nix} | 0 modules/eog/testbeds/{default.nix => eog.nix} | 0 .../testbeds/{gnome-theme.nix => firefox-gnome-theme.nix} | 0 modules/firefox/testbeds/{default.nix => firefox.nix} | 0 modules/foliate/testbeds/{default.nix => foliate.nix} | 0 modules/foot/testbeds/{default.nix => foot.nix} | 0 modules/fzf/testbeds/{default.nix => fzf.nix} | 0 modules/gedit/testbeds/{default.nix => gedit.nix} | 0 modules/ghostty/testbeds/{default.nix => ghostty.nix} | 0 modules/glance/testbeds/{hm.nix => glance-hm.nix} | 0 modules/glance/testbeds/{nixos.nix => glance-nixos.nix} | 0 .../testbeds/{default.nix => gnome-text-editor.nix} | 0 modules/gnome/testbeds/{default.nix => gnome.nix} | 0 modules/halloy/testbeds/{default.nix => halloy.nix} | 0 modules/hyprland/testbeds/{default.nix => hyprland.nix} | 0 modules/kde/testbeds/{default.nix => kde.nix} | 0 modules/kitty/testbeds/{default.nix => kitty.nix} | 0 modules/lazygit/testbeds/{default.nix => lazygit.nix} | 0 modules/mpv/testbeds/{modernz.nix => mpv-modernz.nix} | 0 modules/mpv/testbeds/{uosc.nix => mpv-uosc.nix} | 0 modules/mpv/testbeds/{default.nix => mpv.nix} | 0 modules/qutebrowser/testbeds/{default.nix => qutebrowser.nix} | 0 modules/starship/testbeds/{default.nix => starship.nix} | 0 modules/sxiv/testbeds/{default.nix => sxiv.nix} | 0 modules/vscode/testbeds/{default.nix => vscode.nix} | 0 modules/wezterm/testbeds/{default.nix => wezterm.nix} | 0 modules/wofi/testbeds/{default.nix => wofi.nix} | 0 modules/yazi/testbeds/{default.nix => yazi.nix} | 0 modules/zathura/testbeds/{default.nix => zathura.nix} | 0 stylix/testbed.nix | 2 +- 36 files changed, 1 insertion(+), 1 deletion(-) rename modules/alacritty/testbeds/{default.nix => alacritty.nix} (100%) rename modules/bat/testbeds/{default.nix => bat.nix} (100%) rename modules/bspwm/testbeds/{default.nix => bspwm.nix} (100%) rename modules/btop/testbeds/{default.nix => btop.nix} (100%) rename modules/cavalier/testbeds/{default.nix => cavalier.nix} (100%) rename modules/chromium/testbeds/{default.nix => chromium.nix} (100%) rename modules/emacs/testbeds/{default.nix => emacs.nix} (100%) rename modules/eog/testbeds/{default.nix => eog.nix} (100%) rename modules/firefox/testbeds/{gnome-theme.nix => firefox-gnome-theme.nix} (100%) rename modules/firefox/testbeds/{default.nix => firefox.nix} (100%) rename modules/foliate/testbeds/{default.nix => foliate.nix} (100%) rename modules/foot/testbeds/{default.nix => foot.nix} (100%) rename modules/fzf/testbeds/{default.nix => fzf.nix} (100%) rename modules/gedit/testbeds/{default.nix => gedit.nix} (100%) rename modules/ghostty/testbeds/{default.nix => ghostty.nix} (100%) rename modules/glance/testbeds/{hm.nix => glance-hm.nix} (100%) rename modules/glance/testbeds/{nixos.nix => glance-nixos.nix} (100%) rename modules/gnome-text-editor/testbeds/{default.nix => gnome-text-editor.nix} (100%) rename modules/gnome/testbeds/{default.nix => gnome.nix} (100%) rename modules/halloy/testbeds/{default.nix => halloy.nix} (100%) rename modules/hyprland/testbeds/{default.nix => hyprland.nix} (100%) rename modules/kde/testbeds/{default.nix => kde.nix} (100%) rename modules/kitty/testbeds/{default.nix => kitty.nix} (100%) rename modules/lazygit/testbeds/{default.nix => lazygit.nix} (100%) rename modules/mpv/testbeds/{modernz.nix => mpv-modernz.nix} (100%) rename modules/mpv/testbeds/{uosc.nix => mpv-uosc.nix} (100%) rename modules/mpv/testbeds/{default.nix => mpv.nix} (100%) rename modules/qutebrowser/testbeds/{default.nix => qutebrowser.nix} (100%) rename modules/starship/testbeds/{default.nix => starship.nix} (100%) rename modules/sxiv/testbeds/{default.nix => sxiv.nix} (100%) rename modules/vscode/testbeds/{default.nix => vscode.nix} (100%) rename modules/wezterm/testbeds/{default.nix => wezterm.nix} (100%) rename modules/wofi/testbeds/{default.nix => wofi.nix} (100%) rename modules/yazi/testbeds/{default.nix => yazi.nix} (100%) rename modules/zathura/testbeds/{default.nix => zathura.nix} (100%) diff --git a/modules/alacritty/testbeds/default.nix b/modules/alacritty/testbeds/alacritty.nix similarity index 100% rename from modules/alacritty/testbeds/default.nix rename to modules/alacritty/testbeds/alacritty.nix diff --git a/modules/bat/testbeds/default.nix b/modules/bat/testbeds/bat.nix similarity index 100% rename from modules/bat/testbeds/default.nix rename to modules/bat/testbeds/bat.nix diff --git a/modules/bspwm/testbeds/default.nix b/modules/bspwm/testbeds/bspwm.nix similarity index 100% rename from modules/bspwm/testbeds/default.nix rename to modules/bspwm/testbeds/bspwm.nix diff --git a/modules/btop/testbeds/default.nix b/modules/btop/testbeds/btop.nix similarity index 100% rename from modules/btop/testbeds/default.nix rename to modules/btop/testbeds/btop.nix diff --git a/modules/cavalier/testbeds/default.nix b/modules/cavalier/testbeds/cavalier.nix similarity index 100% rename from modules/cavalier/testbeds/default.nix rename to modules/cavalier/testbeds/cavalier.nix diff --git a/modules/chromium/testbeds/default.nix b/modules/chromium/testbeds/chromium.nix similarity index 100% rename from modules/chromium/testbeds/default.nix rename to modules/chromium/testbeds/chromium.nix diff --git a/modules/emacs/testbeds/default.nix b/modules/emacs/testbeds/emacs.nix similarity index 100% rename from modules/emacs/testbeds/default.nix rename to modules/emacs/testbeds/emacs.nix diff --git a/modules/eog/testbeds/default.nix b/modules/eog/testbeds/eog.nix similarity index 100% rename from modules/eog/testbeds/default.nix rename to modules/eog/testbeds/eog.nix diff --git a/modules/firefox/testbeds/gnome-theme.nix b/modules/firefox/testbeds/firefox-gnome-theme.nix similarity index 100% rename from modules/firefox/testbeds/gnome-theme.nix rename to modules/firefox/testbeds/firefox-gnome-theme.nix diff --git a/modules/firefox/testbeds/default.nix b/modules/firefox/testbeds/firefox.nix similarity index 100% rename from modules/firefox/testbeds/default.nix rename to modules/firefox/testbeds/firefox.nix diff --git a/modules/foliate/testbeds/default.nix b/modules/foliate/testbeds/foliate.nix similarity index 100% rename from modules/foliate/testbeds/default.nix rename to modules/foliate/testbeds/foliate.nix diff --git a/modules/foot/testbeds/default.nix b/modules/foot/testbeds/foot.nix similarity index 100% rename from modules/foot/testbeds/default.nix rename to modules/foot/testbeds/foot.nix diff --git a/modules/fzf/testbeds/default.nix b/modules/fzf/testbeds/fzf.nix similarity index 100% rename from modules/fzf/testbeds/default.nix rename to modules/fzf/testbeds/fzf.nix diff --git a/modules/gedit/testbeds/default.nix b/modules/gedit/testbeds/gedit.nix similarity index 100% rename from modules/gedit/testbeds/default.nix rename to modules/gedit/testbeds/gedit.nix diff --git a/modules/ghostty/testbeds/default.nix b/modules/ghostty/testbeds/ghostty.nix similarity index 100% rename from modules/ghostty/testbeds/default.nix rename to modules/ghostty/testbeds/ghostty.nix diff --git a/modules/glance/testbeds/hm.nix b/modules/glance/testbeds/glance-hm.nix similarity index 100% rename from modules/glance/testbeds/hm.nix rename to modules/glance/testbeds/glance-hm.nix diff --git a/modules/glance/testbeds/nixos.nix b/modules/glance/testbeds/glance-nixos.nix similarity index 100% rename from modules/glance/testbeds/nixos.nix rename to modules/glance/testbeds/glance-nixos.nix diff --git a/modules/gnome-text-editor/testbeds/default.nix b/modules/gnome-text-editor/testbeds/gnome-text-editor.nix similarity index 100% rename from modules/gnome-text-editor/testbeds/default.nix rename to modules/gnome-text-editor/testbeds/gnome-text-editor.nix diff --git a/modules/gnome/testbeds/default.nix b/modules/gnome/testbeds/gnome.nix similarity index 100% rename from modules/gnome/testbeds/default.nix rename to modules/gnome/testbeds/gnome.nix diff --git a/modules/halloy/testbeds/default.nix b/modules/halloy/testbeds/halloy.nix similarity index 100% rename from modules/halloy/testbeds/default.nix rename to modules/halloy/testbeds/halloy.nix diff --git a/modules/hyprland/testbeds/default.nix b/modules/hyprland/testbeds/hyprland.nix similarity index 100% rename from modules/hyprland/testbeds/default.nix rename to modules/hyprland/testbeds/hyprland.nix diff --git a/modules/kde/testbeds/default.nix b/modules/kde/testbeds/kde.nix similarity index 100% rename from modules/kde/testbeds/default.nix rename to modules/kde/testbeds/kde.nix diff --git a/modules/kitty/testbeds/default.nix b/modules/kitty/testbeds/kitty.nix similarity index 100% rename from modules/kitty/testbeds/default.nix rename to modules/kitty/testbeds/kitty.nix diff --git a/modules/lazygit/testbeds/default.nix b/modules/lazygit/testbeds/lazygit.nix similarity index 100% rename from modules/lazygit/testbeds/default.nix rename to modules/lazygit/testbeds/lazygit.nix diff --git a/modules/mpv/testbeds/modernz.nix b/modules/mpv/testbeds/mpv-modernz.nix similarity index 100% rename from modules/mpv/testbeds/modernz.nix rename to modules/mpv/testbeds/mpv-modernz.nix diff --git a/modules/mpv/testbeds/uosc.nix b/modules/mpv/testbeds/mpv-uosc.nix similarity index 100% rename from modules/mpv/testbeds/uosc.nix rename to modules/mpv/testbeds/mpv-uosc.nix diff --git a/modules/mpv/testbeds/default.nix b/modules/mpv/testbeds/mpv.nix similarity index 100% rename from modules/mpv/testbeds/default.nix rename to modules/mpv/testbeds/mpv.nix diff --git a/modules/qutebrowser/testbeds/default.nix b/modules/qutebrowser/testbeds/qutebrowser.nix similarity index 100% rename from modules/qutebrowser/testbeds/default.nix rename to modules/qutebrowser/testbeds/qutebrowser.nix diff --git a/modules/starship/testbeds/default.nix b/modules/starship/testbeds/starship.nix similarity index 100% rename from modules/starship/testbeds/default.nix rename to modules/starship/testbeds/starship.nix diff --git a/modules/sxiv/testbeds/default.nix b/modules/sxiv/testbeds/sxiv.nix similarity index 100% rename from modules/sxiv/testbeds/default.nix rename to modules/sxiv/testbeds/sxiv.nix diff --git a/modules/vscode/testbeds/default.nix b/modules/vscode/testbeds/vscode.nix similarity index 100% rename from modules/vscode/testbeds/default.nix rename to modules/vscode/testbeds/vscode.nix diff --git a/modules/wezterm/testbeds/default.nix b/modules/wezterm/testbeds/wezterm.nix similarity index 100% rename from modules/wezterm/testbeds/default.nix rename to modules/wezterm/testbeds/wezterm.nix diff --git a/modules/wofi/testbeds/default.nix b/modules/wofi/testbeds/wofi.nix similarity index 100% rename from modules/wofi/testbeds/default.nix rename to modules/wofi/testbeds/wofi.nix diff --git a/modules/yazi/testbeds/default.nix b/modules/yazi/testbeds/yazi.nix similarity index 100% rename from modules/yazi/testbeds/default.nix rename to modules/yazi/testbeds/yazi.nix diff --git a/modules/zathura/testbeds/default.nix b/modules/zathura/testbeds/zathura.nix similarity index 100% rename from modules/zathura/testbeds/default.nix rename to modules/zathura/testbeds/zathura.nix diff --git a/stylix/testbed.nix b/stylix/testbed.nix index 64971b27..47b5ff00 100644 --- a/stylix/testbed.nix +++ b/stylix/testbed.nix @@ -254,7 +254,7 @@ let ) [ "testbed" - (if testbed.name == "default" then testbed.module else testbed.name) + testbed.name testcase ];