[HOW TO] apply your custom GTK-theme to Flatpaks

Flatpak is a bit limited in what it can access, but you can use your preferred custom GTK theme on Zorin OS 15 or Zorin OS 16 flatpaks.
There are a couple of caveats.

  • The theme in question must be located in your Home .themes directory. Flatpak is utterly blocked, by design, from accessing /usr/share/themes
  • The theme will not change when you use your Themes or Settings manager to switch themes. You must manually use CLI to go in... and change it, too.
  • Since Flatpak mostly is on GTK4, many GTK3 themes may no longer work on Flatpak apps.

First, create (if it does not exist already) a home themes directory by right clicking an open area within your File Manager in Home and creating a new folder. Name it .themes
Now, move or extract your custom gtk themes into that directory.
Give flatpak access:

sudo flatpak override --filesystem=$HOME/.themes

Now that it has been given permission to view a directory on your system that you use...
You can instruct it which theme to use. Remember, this is the only way, currently, to tell flatpak to use a theme other than the one it wants to use. So if you switch themes later, you must repeat this. Replace THEME-NAME with the exact theme name as it appears in your .themes directory.

sudo flatpak override --env=GTK_THEME=THEME-NAME

Kill any flatpak applications running and relaunch and they should now be sporting a new look.

Revert all changes with:

sudo flatpak override --reset

Using Flatseal

Install Flatseal:

flatpak install flathub com.github.tchx84.Flatseal

Under All Applications tab, scroll down to Filesystem
You can set All system files or you can specify the individual theme files. Click on Other files and add the directories:

  • ~/.themes
  • ~/.icons

Add them one at a time. Once you enter one in a field, just click the (+) button again to add the next.
Restarting the app should show your system theme and icons.

3 Likes