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>
Previously:
- Out-of-store paths were not necessarily copied to store.
- Derivations were needlessly coerced to strings.
- `package` and `path` were both used, despite `path` being a superset
of `package`.
Link: https://github.com/nix-community/stylix/pull/1414
Reviewed-by: awwpotato <awwpotato@voidq.com>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Optionalize the stylix.image option when stylix.base16Scheme is set,
making the following Stylix configurations valid:
[
// Now it possible to set 'stylix.image = null', if
// stylix.base16Scheme is set.
{
base16Scheme = /* ... */;
}
// This configuration was already possible.
{
image = /* ... */;
}
// This configuration was already possible.
{
base16Scheme = /* ... */;
image = /* ... */;
}
]
Closes: https://github.com/danth/stylix/issues/200
Closes: https://github.com/danth/stylix/issues/442
Link: https://github.com/danth/stylix/pull/717
Co-authored-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Tested-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Reviewed-by: Daniel Thwaites <danth@danth.me>
Ensure the palette generator is properly cached by fixing the bug
introduced in commit efb734ff43 ("Prevent scheme generation from
running when result is not used (#56)"), where the added indirection
prevents the output of the palette generator becoming part of the final
system.
Using highestPrio as a condition should prevent the palette generator
being forced to run when the output is not used, which is the issue that
the indirection was meant to solve.
Link: https://github.com/danth/stylix/pull/867
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Document the imageScalingMode options according to swaybg, which should
be mostly universal.
Link: https://github.com/danth/stylix/pull/709
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Add soft deprecation dates to guide the hard deprecation transitions.
Fixes: 3567250ba0 ("Properly warn users that stylix.palette.* has been removed")
Fixes: 94aa0fc0fb ("nixvim: rename transparency options to camelCase (#497)")
This is mainly documentation changes.
Also changed the default of `targets.grub.useImage` to a hard false,
as Plymouth doesn't use the wallpaper image any more.
Making palette.json part of the system closure will protect it from
garbage collection, so future configurations can be evaluated without
having to generate the palette again. The generator is not kept, only the
palette which came from it, so this uses very little disk space.
As evaluations will no longer need the palette generator unless the
wallpaper was changed, I've removed the recommendation to add a binary
cache - the overhead of querying the cache for unrelated builds
outweighs the remaining benefits of it.
The automatically chosen color is now the default value under `stylix.palette`,
rather than `null`.
The colors from `stylix.palette` are collected to make the default value
of `stylix.base16Scheme`.
If `stylix.base16Scheme` is overridden to an external file, the colors
from that file will NOT be written back to `stylix.palette`. For that
reason, you must still only refer to `lib.stylix.colors` within modules.
This does not rely on an external library for colour selection,
therefore it can be fine-tuned to create a better theme.
Closes#2 because Colorgram is no longer used.