diff options
Diffstat (limited to 'machines/enzo')
| -rw-r--r-- | machines/enzo/desktop.nix | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/machines/enzo/desktop.nix b/machines/enzo/desktop.nix index 9d543fb..4d1c29b 100644 --- a/machines/enzo/desktop.nix +++ b/machines/enzo/desktop.nix @@ -8,17 +8,28 @@ programs.niri.enable = true; programs.dconf.enable = true; - # Tell the desktop it's in dark mode. niri has no settings daemon; apps learn - # light/dark from xdg-desktop-portal's Settings interface, whose gnome/gtk - # backends read this dconf key. Setting it here makes the portal report - # "prefer-dark", so Firefox/LibreWolf (Auto theme + web content) and GTK apps - # all go dark — no per-app theme config needed. + # Tell the desktop it's in dark mode. Apps read light/dark from + # xdg-desktop-portal's Settings interface (org.freedesktop.appearance + # color-scheme). This dconf default is the value the portal serves. programs.dconf.profiles.user.databases = [ { settings."org/gnome/desktop/interface".color-scheme = "prefer-dark"; } ]; + # Serve color-scheme from the *gtk* portal backend, not gnome. The niri module + # routes Settings to xdg-desktop-portal-gnome (its default), but that backend + # relies on gnome-settings-daemon — absent under bare niri — so it reports + # "no preference" and web content (LibreWolf's prefers-color-scheme) stays + # light even though GTK chrome follows the dark GTK theme. xdg-desktop-portal- + # gtk reads the dconf color-scheme above directly, so pinning Settings to it + # makes the portal actually report dark and content follows. This key merges + # into the niri module's xdg.portal.config.niri. + xdg.portal = { + extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + config.niri."org.freedesktop.impl.portal.Settings" = "gtk"; + }; + services.greetd = { enable = true; settings.default_session = { |
