Open-source project
lassekongo83/zuki-themes avatar
lassekongo83/zuki-themes

Zuki themes: a GTK 3 and GTK 4 theme pair for GNOME and XFCE with a meson install

Themes for GTK, gnome-shell and more.

567 stars43 forksCSSGPL-3.0

At a glance

What is it?
The zuki-themes repository ships two GTK themes, Zukitre and Zukitwo, for GNOME and XFCE, built with meson and sassc and installed into /usr/share/themes. It suits a Linux desktop user who wants a consistent look across GTK 3 and GTK 4 applications, and the project's own documentation says the themes are no longer maintained.
Who is it for?
Zuki themes are worth trying if you want a single visual identity across GTK 3 and GTK 4 applications on a GNOME or XFCE desktop, because the two variants cover the light and dark preferences and because the meson build installs cleanly into the standard themes directory instead of asking you to copy files around by hand.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 23 days ago.
What is it written in?
Mainly CSS, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Two themes, and what they are designed to sit next to

zuki-themes is a set of themes for GNOME and XFCE4, and it ships two of them, Zukitre and Zukitwo, each with a screenshot in the project documentation.

The two are a light and a dark pair rather than two unrelated designs, and the surrounding detail in the documentation tells you what the author expects them to be used with. Each entry lists wallpapers from an image host, icons from the Tela icon theme by vinceliuice, fonts of Roboto and SF Mono, and a GNOME shell extension, Dash to Panel.

That list is the design system. A GTK theme on its own colours the widgets in an application, and it will sit next to whatever window decorations, icons and font the rest of the desktop uses, and the mismatch is what makes a theme look like a theme rather than like a desktop. Pointing at a specific icon theme, a specific monospace and humanist font pairing, a wallpaper set and a specific shell extension is a statement that the theme is meant to be used as one part of a whole, and that the whole is what the screenshots show.

Dash to Panel is worth singling out because it is a structural choice rather than a cosmetic one. It moves the GNOME top bar into a panel with a window list, which is what makes a traditional desktop layout possible, and a theme designed against that layout is being designed for a workflow rather than for a screenshot.

The primary language of the repository is CSS, and the topic list names the surfaces it targets: gnome-shell-theme, gnome-theme, gtk-theme, gtk3-theme, gtk4-theme and xfwm4-theme. So the package covers the GTK widget themes, a GNOME Shell theme, and a window manager theme for Xfwm4, which is what XFCE uses and what the Xfce instructions in the documentation refer to.

The repository tree matches that: a gtk/ directory for the GTK themes, an xfwm4/ directory for the window manager theme, a meson.build file at the root with a meson_options.txt beside it, and a gitpush.sh script.

The build requirements, and why a theme needs a compiler

The requirements section is specific about versions: GTK 3.24.13 or later and/or GTK 4.2 or later.

The dependency lists are given per distribution, and the packages are nearly the same set everywhere. On Debian, Ubuntu, Mint and PopOS:

bash
apt install gtk2-engines-murrine gtk2-engines-pixbuf ninja-build git meson sassc

On Arch and Manjaro:

bash
pacman -S gtk-engines gtk-engine-murrine ninja git meson sassc

On openSUSE:

bash
zypper in gtk2-engine-murrine gtk2-engines ninja git meson sassc

And on Fedora:

bash
dnf install gtk-murrine-engine gtk2-engines ninja-build git meson sassc

The documentation also says that other distributions may have named those packages differently, and that if you do not use any GTK 2 applications you can skip the GTK engines.

That last point is the one worth understanding. The engines are the reason the murrine and pixbuf packages are in the list, and they are there for applications that are still built against GTK 2, because a modern GTK 3 and GTK 4 theme does not restyle those, and without the engine installed the old applications render as they always did, which looks like the theme failing. The generator is sassc, and the build system is meson with ninja, so the theme you install is compiled output rather than the CSS in the repository.

That is the reason the build is not optional, and it is also the reason a local install puts the compiled result under your home directory rather than in a system path.

Installing system-wide or under your own home directory

Once the requirements are in place, the installation is three commands:

bash
git clone https://github.com/lassekongo83/zuki-themes.git
cd zuki-themes
meson build
sudo ninja -C build install

The themes are then installed in /usr/share/themes/, which is the standard location the desktop's theme picker reads.

The local route exists for the case where you cannot run commands as a sudo user, and it differs in one flag:

bash
meson -Dprefix="${HOME}/.local" build
ninja -C build install

The prefix change is what moves the output, and the lack of sudo is what makes it possible. The local copy lands under your own home directory and is picked up by the same theme settings, so the two installs differ in where the files live and in whether you can remove them without root, not in how the theme behaves.

The two install paths are also the two removal paths, and the documentation is careful about the order. To be safe from any crashes or weirdness, you should change the theme to another one before removing the files, because a desktop that is still asking for a theme that has just been deleted has to fall back from a theme it cannot load. The commands are sudo rm -r /usr/share/themes/Zuki* for a system install and rm -r ~/.local/share/themes/Zuki* for a local one.

For a Flatpak desktop the documentation points at stylepak by refi64, which is the tool for injecting a GTK theme into a sandboxed application, and for changing the theme itself it points at gnome-tweaks, with a terminal alternative:

bash
# Change the theme to Zukitre-dark
gsettings set org.gnome.desktop.interface gtk-theme Zukitre-dark

# Reverting the change to the default GNOME theme
gsettings set org.gnome.desktop.interface gtk-theme Adwaita

XFCE users change the theme in Settings, Appearance and Settings, Window manager, which are the two panels that carry the GTK and Xfwm4 settings respectively.

Updating, and the honest notice at the top of the documentation

The first line of the project documentation is a heading in capitals that says the theme is no longer maintained. That sits above everything else, and it is the first thing a reader should take seriously.

The metadata gives the other half of the picture. The repository is not archived, and the last push to it was on 2026-10-01. The release tags are older: v4.0 from 2022-02-11, v3.38-1 from 2021-05-19 and v3.36-4 from 2020-10-10, so the named versions stopped in 2022 while the branch itself has seen later work. The distinction matters for a user deciding whether to install: a tagged release is a snapshot from 2022, and a build from the current branch is something newer than that, without a version name attached to it.

Updating from a clone is two commands, and the difference between the two forms is only the sudo:

bash
git pull
sudo ninja -C build install

for a global install, and:

bash
git pull
ninja -C build install

for a local one. The documentation notes that you should navigate to the zuki-themes folder that was originally cloned, and that if you removed it you should do the installation steps again instead. The reason is mechanical: ninja installs the compiled output from the build directory, so if the clone is gone there is no build directory to install from and a fresh clone and build is the only route.

The COPYING and licence position is simple. The GTK themes and the included scripts are free software licensed under the terms of the GNU General Public License version 3, with the licence file in the repository and a CONTRIBUTING.md beside it. The dependencies are separately licensed and are not covered by that grant, which is normal for a theme that names external icon themes, fonts and shell extensions rather than bundling them.

Where the Zuki themes are the wrong tool

The first limit is the maintenance notice itself. A theme is a set of selectors matched against a toolkit's widget classes, and the toolkit changes those classes between versions. A theme that is not being updated against new GTK releases will, over time, apply to fewer and fewer widgets, and the visible symptom is not an error but a set of buttons that quietly fall back to the default styling, which is exactly the kind of degradation a user blames on the theme rather than on its age.

The second is the build requirement for what is conceptually a set of style sheets. To install the themes you need meson, ninja, sassc and a compiler, and to update them you rebuild and reinstall as root. For a user on a distribution where those packages are named differently, as the documentation warns, the first install is a search through the package manager. A theme that ships plain CSS, or a user stylesheet for one application, has none of that overhead.

The third is the coupling to a specific desktop arrangement. The listed combination of icons, fonts, wallpapers and Dash to Panel is what makes the screenshots look the way they do, and reproducing it means changing your icon theme and your shell behaviour as well as your widget colours. A user who wants only the colour scheme and keeps their own icons and panel gets a different result from the one in the documentation, and the theme is partly a starting point for a configuration rather than a complete desktop.

The fourth is the scale of the manual path. The GTK 2 engines exist for old applications, and while you can skip them if you do not run any, an application built against GTK 2 will render in its own default style, and the mismatch is visible.

And the fifth is the licence consideration for redistribution. GPL-3.0 covers the themes and the scripts, and a derivative theme, a wallpaper set built around them or a repackaged archive carries the same obligations, which matters if you plan to publish a combined theme pack rather than a personal configuration.

Editorial conclusion

Zuki themes are worth trying if you want a single visual identity across GTK 3 and GTK 4 applications on a GNOME or XFCE desktop, because the two variants cover the light and dark preferences and because the meson build installs cleanly into the standard themes directory instead of asking you to copy files around by hand. It is the wrong choice if you expect the theme to be updated as GTK changes, since the project states plainly that the themes are no longer maintained even though the repository was pushed to on 2026-10-01. Before you install it, check three things: that your desktop can run GTK 3.24.13 or later or GTK 4.2 or later, since the theme has no effect on applications using neither, and that the murrine and pixbuf GTK 2 engines plus ninja, meson and sassc are installed, as the theme is compiled rather than shipped as plain CSS; that you build and install it yourself with meson build followed by sudo ninja -C build install, so the installed copy is a snapshot of the branch you cloned; and that the licence is the GNU General Public License version 3, which covers the themes and the included scripts if you redistribute them.

Frequently asked questions

How do I install the Zuki themes on Linux?

Install the build requirements for your distribution, which are the GTK 2 engines plus ninja, git, meson and sassc, then run git clone https://github.com/lassekongo83/zuki-themes.git, cd zuki-themes, meson build and sudo ninja -C build install. The themes are then installed in /usr/share/themes/, or under your home directory if you use meson -Dprefix="${HOME}/.local" build and run ninja without sudo.

How do I apply or switch the Zuki GTK theme?

Use gnome-tweaks, or set it from a terminal with gsettings set org.gnome.desktop.interface gtk-theme Zukitre-dark, and revert to the default with gsettings set org.gnome.desktop.interface gtk-theme Adwaita. XFCE users change the theme in Settings, Appearance and Settings, Window manager, and Flatpak applications need stylepak.

Is the Zuki theme still maintained?

The project documentation states at the top that the theme is no longer maintained, and the most recent tagged release is v4.0 from 2022-02-11. The repository itself is not archived and the last push to it was on 2026-10-01, so the branch has seen later work even though the named versions have not been cut since 2022.

Official sources

  1. Issues
  2. lassekongo83/zuki-themes on GitHub
  3. License: GPL-3.0
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/lassekongo83-zuki-themes.svg)](https://hysenlabs.com/projects/lassekongo83-zuki-themes)

Was this useful?