Pantheon Theme Settings

Hi there,

For those leveraging the Pantheon Desktop, a few questions.

Settings Portal

Certain settings in Pantheon leverage the “Settings Portal” (which is dbus). One such example is is the dark mode. HOw are other setting this in nix (vs just setting it in “Settings”)? There are likely other settings that leverage this means. An easy way to see is if you run dconf watch / in a terminal, and when you toggle a setting in the Gui, if there is no output, it’s likely in the “Settings Portal”.

White Window Panels

When I did enable dark mode manually, I noticed that “some” apps did not repoect this. Are there a set of secondary settings needed to enforce this?

Thank you.

The settings portal can still use GSettings and thus the dconf database to store the settings internally. At least it does on GNOME. And if it does, dconf watch / should reveal the relevant settings name.

As mentioned in the other thread, services.xserver.desktopManager.pantheon.extraGSettingsOverrides is to be used similarly to services.xserver.desktopManager.gnome.extraGSettingsOverrides, with the same downsides. Using home-manager’s dconf module is also an option.

But if dconf watch / does not print anything relevant, other storage backend may be used.

In particular, it looks like the preferred color scheme is stored in AccountsService. Take a look at /var/lib/AccountsService/users/$USER.

Unfortunately, I do not think AccountsService is as flexible as dconf, and your best option of setting it declaratively is likely replacing the whole file with systemd.tmpfiles NixOS option. Of course, you will lose the ability to change all other settings imperatively too.

Those apps probably need to add explicit support for dark theme. I believe Granite-based and libadwaita-based apps should support it out of the box, though.

@bobby285271 will probably know more.

2 Likes