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;