This summary is based on (and quotes) the Qubes Community guide, this and that — especially @Sven’s extensive work.

Dom0, Fedora & Debian


The following text and screenshots describe how to change the default light theme to a global dark theme. It's just an example; feel free to adjust the appearance to your taste.

And here are the final results:

xfce-end-result|690x388, 75%

Dom0 Qube Manager, Dom0 Terminal, Fedora 35 VMs, Debian 11 VM; desktop background color #3B3941 (external full HD display)
qubes-applications-menu|468x500, 75%

Qubes Applications Menu is darkened as well
Note: Of course, several apps (e.g., Terminal and Gedit) can be styled in the app itself. Here, Dom0 Terminal’s background color is set to the desktop background color — because fusion. 😉

Dom0


Change Appearance

Change Style in Window Manager

Note: Most of the Qubes OS UI in dom0 is now Qt5 based and doesn’t adhere to the selected theme by default. This can be remedied by:

sudo qubes-dom0-update qt5-qtstyleplugins

Then add QT_QPA_PLATFORMTHEME=gtk2 to /etc/environment. Reboot. Done.

Fedora 34 / 35


Install and use Gnome Tweaks

In templateVM:

sudo dnf install gnome-tweaks

Note: See How to update.

Notes: You have to do this in the templateVM and all appVMs; changes you make in the home directory of a templateVM will not reflect in the template based VM by design. For dispVMs see this.

If you want to use gnome-settings-daemon and Gnome Tweaks, it’s probably best to delete settings.ini and .gtkrc-2.0 (see following Debian section).

To make sure QT apps look good, too: In templateVM install qt5-qtstyleplugins, gtk-murrine-engine and gnome-themes-standard. Add QT_QPA_PLATFORMTHEME=gtk2 to /etc/environment.

Debian 10 / 11


In Debian, things are getting a little bit trickier …

AppVMs seem to work best without gnome-settings-daemon (see end of Fedora section above). In that case set DPI in /etc/X11/Xresources/x11-common using Xft.dpi: (probably 96) in template VM.

Make sure your appVMs have both ~/.config/gtk-3.0/settings.ini and ~/gtkrc-2.0:

settings.ini

[Settings]
gtk-application-prefer-dark-theme=1
gtk-font-name=DejaVu Sans Book 12 
gtk-theme-name=Adwaita-dark
gtk-icon-theme-name=Gnome

.gtkrc-2.0

include "/usr/share/themes/Adwaita-dark/gtk-2.0/gtkrc" 
style "user-font" 
{ 
        font_name="DejaVu Sans Book" 
}
widget_class "*" style "user-font"
gtk-font-name="DejaVu Sans Book 12" 
gtk-theme-name="Adwaita-dark"
gtk-icon-theme-name="Gnome"

Put these files to /etc/skel of the templateVM, so they get created automatically if you set up a new appVM based on that templateVM.

To make sure QT apps look good, too: In templateVM install qt5-style-plugins, gtk2-engines-murrine, and gnome-themes-standard. Then add these two lines to /etc/environment:

QT_QPA_PLATFORMTHEME=gtk2 
QT_SCALE_FACTOR=1

Done!


To do? Darken Firefox websites and Thunderbird emails just with userChrome.css and userContent.css, not via extensions/add-ons.

Note: Some panel (applet) icons, e.g., NetworkManager — see ›global‹ screenshot at the beginning of this guide —, Joplin and Keybase, remain with white instead of dark resp. transparent backgrounds. For NetworkManager icon, see Qubes issue #2846.