Evaluated the set of testbed modules in a separate file from where we
create the testbed NixOS systems.
The first file (autoload.nix) has no dependency on any of Stylix's flake
inputs. The second file (default.nix) takes the matrix as a parameter,
then imports each module into a NixOS system, and wrapper script.
This will enable a partitioned flake to evaluate the set of testbeds
without needing to fully convert them into NixOS systems with
dependencies on dev-inputs.
Link: https://github.com/nix-community/stylix/pull/1520
Reviewed-by: Flameopathic <64027365+Flameopathic@users.noreply.github.com>
Reviewed-by: awwpotato <awwpotato@voidq.com>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
With a few exceptions for `lib.stylix` functions.
Once these exceptions are removed, we will have solved the issue with
NixOS's documentation.nixos.includeAllModules option.
See https://github.com/nix-community/stylix/issues/98
We don't actually need fully blown NixOS or home-manager configurations
just to read the declared `options`.
Instead, we can directly call `lib.evalModules` to build a minimal
configuration containing only stylix modules.
Previously the example evaluated `config.stylix.image`, which should not
be done by the docs.
Since `mkEnableWallpaper` already assumes `autoEnable` is static when it
evaluates `defaultText`, we can do the same for `example`.
Instead of having a nullable `base16Scheme` option, the default will
throw when `stylix.image` is null. Not only does this better represent
the "required" nature of this option, it also ensures the assertion is
evaluated early enough to actually be checked.
This causes the assertion to evaluate when the default definition is
read, instead of later when the `assertions` option is checked.
Link: https://github.com/nix-community/stylix/pull/1446
Tested-by: https://github.com/NovaViper
Approved-by: https://github.com/NovaViper
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Closes: https://github.com/nix-community/stylix/issues/1189
Link: https://github.com/nix-community/stylix/pull/1377
Reviewed-by: Adam M. Szalkowski <a.szalkowski@datahow.ch>
Tested-by: Adam M. Szalkowski <a.szalkowski@datahow.ch>
Reviewed-by: Matt Sturgeon <matt@sturgeon.me.uk>
Tested-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
BREAKING CHANGE: The fontconfig target no longer enables Home Manager's
fonts.fontconfig.enable option and now sets Home Manager's
fonts.fontconfig.defaultFonts option instead.
Link: https://github.com/nix-community/stylix/pull/1292
Reviewed-by: awwpotato <awwpotato@voidq.com>
Reviewed-by: Flameopathic <64027365+Flameopathic@users.noreply.github.com>
Reviewed-by: Matt Sturgeon <matt@sturgeon.me.uk>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Use the new `mkEnableTargetWith` function for dynamic `autoEnable`
conditions to prevent the evaluation of dynamic conditions during
documentation rendering.
The "same as `stylix.autoEnable`" `defaultText` is replaced with
`stylix.autoEnable` or `stylix.autoEnable && ${autoEnableExpr}`,
depending on whether `autoEnableExpr` is provided. For readability,
`autoEnable` expressions containing Nix operators of lower precedence
than `&&` are automatically wrapped in parentheses, unless
`autoWrapExpr` is disabled.
Closes: https://github.com/nix-community/stylix/issues/98
Link: https://github.com/nix-community/stylix/pull/1244
Reviewed-by: awwpotato <awwpotato@voidq.com>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Reviewed-by: Daniel Thwaites <danth@danth.me>
Use the new `perSystem.stylix.aliases` option to rename
`packages.«system».docs` and `apps.«system».docs` to `doc`.
The alias will be defined until 25.11 and will always warn when
evaluated.