-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
nixos/theming: init #70276
nixos/theming: init #70276
Conversation
nixos/modules/config/theming.nix
Outdated
}; | ||
}; | ||
|
||
qt5 = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a qt5.nix
, perhaps the qt specific code should go there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@worldofpeace I plan to add support for gtk2 and qt4 (e.g. GIMP still uses gtk2 and we still have qt4 packages), it will be probably simpler to keep it in one place then
I don't think it's a good idea to accept this with the dconf specific generation code in this module. It would need to be abstracted to #54150. |
@worldofpeace @jtojnar I've disabled dconf handling for now |
We could rename the I think this module appears cluttered when we're handling different concepts of theming in two different toolkits. |
@worldofpeace Ok, I will try to add qt4 and gtk2 support and then break this into |
}) | ||
) | ||
|
||
(mkIf (theme == "adwaita") { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@worldofpeace
If I split this module, where should I put these predefined theme profiles that create unified look?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer if we could keep the PR smaller and not have any defaults like that yet.
Things like this aren't managed declaratively yet, so it might make the feature more difficult to land.
@jtojnar I think this module would solve the confusion about us directing people to "install an icon theme". Now there's a declarative way for this to happen. Us lacking an interface like this is why I think its been confusing. Having profiles (not sure if default ones are needed at all) would also make the base freedesktop config simple to expose. |
And widget style with color scheme what's more important.
Why not hold both into
No, not competely. They work fine with ini files until you use Wayland, only in that case you need dconf handling.
I can do this through separate PR. Actually I think that what most need from this feature. Not to customize everything by own, but choose from default themes. Few people have pure Qt or pure Gtk stack, most have mixed stack of programs, in that case there is no unified look by default. |
BTW I will continue with in new PR |
That particular comment was gtk related since there's been a running discussion on how to handle this issue. I'll try to link some of that discussion here for reference And I guess the documentation that came out of those discussions, and any recent reports on issues with icon themes.
Oops, sorry if that came off confusing.
Exactly it's preferential. Though I totally wouldn't be opposed to having nice unified defaults, it's just we really lack a way to determine if something is a "desktop" in nixos to make those kind of decisions. |
@worldofpeace Continued in #71079 |
Motivation for this change
When I started to use NixOS at desktop I was wondered that there is no module to set Gtk and Qt widget and icon themes (in bare WM environment). Its no joy to use lxappearence, qt5ct and similar tools. This module fixes that issue by adding a way to configure themes declaratively.
For easy start I've added some predefined profiles that follow defaults of Plasma and Gnome environments.
#66392 That module only made Qt mimic default Gtk theme
#23333 That module only set qt5ct environment variable
Partly based on
https://github.com/rycee/home-manager/blob/master/modules/misc/gtk.nix
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @romildo @worldofpeace @infinisil @samueldr @ttuegel @jtojnar