Benefits:
- No need to run Mustache, so better performance
- Allows the code to be linted and formatted
- Generated file is minified
- Can use arbitrary variables to name colors and group settings
(although this is not implemented)
Drawbacks:
- Update script is more complex
I opted to change the sorting to alphabetical order because it's
easier to implement in the update script. The script prints a list
of added and removed options, so ordering to match the upstream
documentation is not necessary.
VSCode on Linux now uses a custom title bar by default.
This should be colored in base01 to match our theming of GTK title bars
(although this is not explicitly mentioned in the style guide).
Link: https://github.com/danth/stylix/pull/979
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
vscode: support arbitrary profiles
The VSCode theme is no longer only applied to any profiles by default.
Closes: https://github.com/danth/stylix/issues/908
Link: https://github.com/danth/stylix/pull/914
Co-authored-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Resolve the following warnings:
- The option `programs.wpaperd.settings' defined in
`/nix/store/<HASH>-source/modules/wpaperd/hm.nix' has been renamed
to `services.wpaperd.settings'.
- The option `programs.vscode.extensions' defined in
`/nix/store/<HASH>-source/modules/vscode/hm.nix' has been renamed
to `programs.vscode.profiles.default.extensions'.
- The option `programs.vscode.userSettings' defined in
`/nix/store/<HASH>-source/modules/vscode/hm.nix' has been renamed
to `programs.vscode.profiles.default.userSettings'.
The VSCode theme is now only applied to the 'default' profile.
Closes: https://github.com/danth/stylix/issues/903
Link: https://github.com/danth/stylix/pull/905
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Extend testbeds with individual GUI applications beyond DEs, offering the
following benefits:
- Preview PRs without changing your real configuration by running:
nix run github:«owner»/«repository»/«branch»#testbed-«application»-«polarity»'
- Unlike local installations, testbeds reset their filesystem between rebuilds,
ensuring each test simulates a fresh installation to identify cases requiring
manual steps for module effectiveness.
- Enhances CI to test that configurations evaluate correctly when a module is
enabled. The extent to which this confirms that the configuration actually
works can vary depending on the upstream implementation of the module.
The application testbeds are currently based on GNOME but could be replaced with
a lightweight compositor like Cage [1] in the future. GNOME was chosen for the
time being due to preconfigured services, such as a secret service [2], which
some applications require.
[1]: https://github.com/cage-kiosk/cage?tab=readme-ov-file#cage-a-wayland-kiosk
[2]: https://specifications.freedesktop.org/secret-service-spec/latest
Add a 'stylix.enable' option to enable or disable all Stylix modules in
order to resolve issues similar to [2].
To align with the default 'lib.mkEnableOption' [1] behavior,
'stylix.enable' defaults to 'false'.
BREAKING CHANGE: Stylix is disabled by default. To enable it, use:
stylix.enable = true;
[1]: https://github.com/NixOS/nixpkgs/blob/23.11/lib/options.nix#L91-L105
[2]: https://github.com/danth/stylix/issues/216
Co-authored-by: Daniel Thwaites <danthwaites30@btinternet.com>
Co-authored-by: Jalil David Salamé Messina <jalil.salame@gmail.com>
Co-authored-by: NAHO <90870942+trueNAHO@users.noreply.github.com>