From 938dfd49bf158fe6a1e7dddc5ed57f76bb6881e5 Mon Sep 17 00:00:00 2001 From: Drew Haven Date: Mon, 31 Mar 2025 17:11:39 -0700 Subject: [PATCH] [desktop] Declaratively sets dark-mode options --- home-manager/features/hyprland.nix | 3 +++ home-manager/features/linux-desktop.nix | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/home-manager/features/hyprland.nix b/home-manager/features/hyprland.nix index 934ab8d..69bc80e 100644 --- a/home-manager/features/hyprland.nix +++ b/home-manager/features/hyprland.nix @@ -27,6 +27,9 @@ "swayidle -w before-sleep hyprlock" "swayosd-server" "systemctl --user start hyprpolkitagent" + + "gsettings set org.gnome.desktop.interface color-scheme \"prefer-dark\"" + "gsettings set org.gnome.desktop.interface gtk-theme \"Adwaita-dark\"" ]; env = [ diff --git a/home-manager/features/linux-desktop.nix b/home-manager/features/linux-desktop.nix index 492242f..34b3fd5 100644 --- a/home-manager/features/linux-desktop.nix +++ b/home-manager/features/linux-desktop.nix @@ -20,6 +20,7 @@ hyprpolkitagent # Privilege managent gnome-keyring # Secret management glib # for Gnome/GTK settings + gsettings-desktop-schemas # So that we can access gnome settings xdg-desktop-portal-hyprland xdg-desktop-portal-gtk # GTK backend for XDG components like pickers grim # Screenshot provider @@ -29,6 +30,7 @@ wirelesstools waypaper # Wallpaper switcher phinger-cursors # Mouse cursors + ]; # Hint for electron apps to use wayland @@ -54,6 +56,14 @@ }; }; + # This is where the real magic happens to tell the applications to prefer + # dark mode. For example, Element reads from this setting. + dconf.settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + }; + # QT theming qt = { enable = true;