-
-
Notifications
You must be signed in to change notification settings - Fork 185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
treewide: declare options with lib.mkDefault
#388
Conversation
Thanks for the proposal! However, although convenient, this proposal might cause a lot of confusion as end-users may unwillingly override Stylix options. Additionally, end-users options declared with Instead, Stylix should aim to declare only necessary options. For example, #174 removed unnecessary Stylix declarations. IMHO, end-users should explicitly override upstream (Stylix) options with
Since end-users still require @danth, what do you think? |
lib.mkDefault
Personally, I prefer having the options set as they are now, so I'm aware of any conflicts. This is most relevant when Stylix needs to set more than one option for a theme to work correctly - with For example, the current KDE module needs to both install a Look-and-Feel package, and also run a script to activate it at runtime. |
This is a suggestion to make use of
lib.mkDefault
to decrease the priority of the stylix options.I ran into the problem that I wanted to keep the Stylix target and only change a single option. One common example is
wayland.windowManager.hyprland.settings.decoration."col.shadow" = "rgba(${config.lib.stylix.colors.base01}E5)";
which currently requires the use oflib.mkForce
and looks ugly.So if we lower the priority of the Stylix options, the end user of stylix can more easily customize their theme without having to think of
lib.mkForce
(and build twice :P) to override the stylix options.Is it ready for merging, or does it need work?
Yes, i have tested the first three commits, but if this gets accepted i would like to look over the other moules stylix currently has and apply
lib.mkDefault
where it makes sense.