stylix: parametrize and change testbed field separator (#887)
Parametrize and change the testbed field separator to the colon (':')
character to avoid ambiguity with module names containing hyphens ('-'),
and allow testbed names to contain hyphens.
Fixes: 211a8440e7 ("stylix: support multiple testbeds per module (#858)")
This commit is contained in:
parent
689fd55ff2
commit
f121a142ab
4 changed files with 18 additions and 12 deletions
|
|
@ -54,8 +54,8 @@ Photos by [Clay Banks](https://unsplash.com/photos/three-bicycles-parked-in-fron
|
|||
and [Derrick Cooper](https://unsplash.com/photos/brown-road-in-forest-during-daytime-L505cPnmIds).
|
||||
|
||||
Try a live demo of this theme by running
|
||||
`nix run github:danth/stylix#testbed-gnome-default-light` or
|
||||
`nix run github:danth/stylix#testbed-gnome-default-dark`.
|
||||
`nix run github:danth/stylix#testbed:gnome:default:light` or
|
||||
`nix run github:danth/stylix#testbed:gnome:default:dark`.
|
||||
|
||||
### KDE Plasma 5
|
||||
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
|
@ -52,19 +52,19 @@ github:danth/stylix
|
|||
└───x86_64-linux
|
||||
├───docs: package 'stylix-book'
|
||||
├───palette-generator: package 'palette-generator'
|
||||
├───testbed-gnome-default-dark: package 'testbed-gnome-default-dark'
|
||||
├───testbed-gnome-default-light: package 'testbed-gnome-default-light'
|
||||
├───testbed-kde-default-dark: package 'testbed-kde-default-dark'
|
||||
└───testbed-kde-default-light: package 'testbed-kde-default-light'
|
||||
├───testbed:gnome:default:dark: package 'testbed:gnome:default:dark'
|
||||
├───testbed:gnome:default:light: package 'testbed:gnome:default:light'
|
||||
├───testbed:kde:default:dark: package 'testbed:kde:default:dark'
|
||||
└───testbed:kde:default:light: package 'testbed:kde:default:light'
|
||||
```
|
||||
|
||||
(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»:«testbed»:«polarity»`, run the following command:
|
||||
|
||||
```console
|
||||
user@host:~$ nix run .#testbed-«module»-«testbed»-«polarity»
|
||||
user@host:~$ nix run .#testbed:«module»:«testbed»:«polarity»
|
||||
```
|
||||
|
||||
Any package with a name not fitting the given format is not a testbed,
|
||||
|
|
@ -74,7 +74,7 @@ Once the virtual machine starts, a window should open, similar to the screenshot
|
|||
below. The contents of the virtual machine will vary depending on the target you
|
||||
selected earlier.
|
||||
|
||||

|
||||

|
||||
|
||||
If the testbed includes a login screen, the guest user should log in
|
||||
automatically when selected. Depending on the software used, you may still be
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
testbedFieldSeparator = ":";
|
||||
username = "guest";
|
||||
|
||||
commonModule =
|
||||
|
|
@ -114,8 +115,8 @@ let
|
|||
|
||||
# To prevent ambiguity with the final derivation's hyphen field
|
||||
# separator, testbed names should not contain hyphens.
|
||||
else if lib.hasInfix "-" testbed then
|
||||
builtins.throw "testbed name must not contain hyphens (-): ${testbed}"
|
||||
else if lib.hasInfix testbedFieldSeparator testbed then
|
||||
builtins.throw "testbed name must not contain the '${testbedFieldSeparator}' testbed field separator: ${testbed}"
|
||||
|
||||
else
|
||||
{
|
||||
|
|
@ -131,7 +132,12 @@ let
|
|||
makeTestbed =
|
||||
testbed: stylix:
|
||||
let
|
||||
name = "testbed-${testbed.module}-${testbed.name}-${stylix.polarity}";
|
||||
name = builtins.concatStringsSep testbedFieldSeparator [
|
||||
"testbed"
|
||||
testbed.module
|
||||
testbed.name
|
||||
stylix.polarity
|
||||
];
|
||||
|
||||
system = lib.nixosSystem {
|
||||
inherit (pkgs) system;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue