A modern, customizable GTK theme with multiple color variants
Based on the excellent Arc and Matcha themes
Changelog | Installation Guide | Development Guide
- 12 Theme Variants - 4 colors (Sea, Aliz, Azul, Pueril) x 3 modes (Light, Standard, Dark)
- Desktop Support - GTK 2/3/4, GNOME Shell (38-50), Cinnamon, Xfce, Budgie, Pantheon, Unity, Openbox, Labwc
- KDE Plasma Support - Native theming for KDE Plasma 6
- Dock Support - Plank Reloaded theming
- HiDPI Support - Standard, HiDPI, and XHiDPI variants for retina displays
- Color-Matched Backgrounds - Wallpapers coordinated with each theme variant
- Additional Theming - GDM login screen, libadwaita apps, GTKSourceView syntax highlighting, cursor theme, Zed editor themes, Alacritty, foot, Ghostty, Kitty, and Konsole terminal themes, Telegram Desktop themes, Halloy IRC client themes, CopyQ clipboard manager themes, Slack themes, Sniffnet network monitor themes, Tk/ttk themes, Firefox themes, Spotifast music player themes
For complete installation instructions, requirements, and customization options, see INSTALL.md.
git clone https://github.com/zquestz/celestial-gtk-theme.git
cd celestial-gtk-theme
./install.shThis installs all theme variants to ~/.themes/. For system-wide installation, customization options, and applying the theme to your desktop, see the full installation guide.
Celestial provides native KDE Plasma theming for all 12 variants, including the bundled Kvantum themes for Qt apps. The global themes also set Papirus icons, the Celestial cursor, and each color's matching wallpaper - install those, plus the matching SDDM login screen, for the complete look.
# Install all KDE Plasma variants
./install.sh --kde
# Install a specific variant
./install.sh --kde -t azul -c dark
# Install with the Celestial cursors and backgrounds
./install.sh --kde --cursors -b
# Add the matching login screen (system-wide, so it needs root)
sudo ./install.sh --sddmThen apply from System Settings > Global Theme. One manual step remains: a global theme can select Kvantum as the widget style but can't choose which Celestial variant Kvantum renders, so set it once to match:
kvantummanager --set Celestial-Azul-DarkGTK/GNOME apps don't follow a Plasma global theme - set them to match under System Settings > Application Style > GNOME/GTK Application Style, selecting your Celestial variant.
The SDDM login screen is applied separately: pick your variant under System Settings > Colors & Themes > Login Screen (SDDM), then click Apply Plasma Settings on the same page (a global theme can't switch the login screen, so it's a one-time selection like the Kvantum step).
Built for Plasma 6. See the KDE Plasma README for full details.
Select your Celestial variant in GNOME Tweaks > Appearance. The shell theme is a separate setting that needs the User Themes extension - see INSTALL.md for both steps.
The panel's Dark Style toggle flips GNOME's color-scheme preference, which only reaches GTK 4 apps: each installed variant is paired with its color's dark stylesheet, so a light or standard variant switches to dark and back. GTK 3 apps, the shell theme, and Qt apps follow the theme you selected, and a dark variant is already dark - so on a dark variant the toggle looks like it does nothing. To switch the whole desktop, change the theme:
gsettings set org.gnome.desktop.interface gtk-theme "Celestial-Sea-Light"
gsettings set org.gnome.shell.extensions.user-theme name "Celestial-Sea-Light"On GNOME's Wayland session, Qt applications draw their own titlebars - Mutter offers no server-side decorations - so no theme can style them, and Qt's adwaita decoration plugin (qt6-qtwayland-adwaita-decoration on Fedora, usually preinstalled with GNOME) is hardcoded to the Adwaita look. Two options:
# GNOME-style Qt titlebars (follows light/dark, but always Adwaita)
QT_WAYLAND_DECORATION=adwaita
# Celestial Qt titlebars: run the app under XWayland, where Mutter
# decorates it from the GTK theme; Kvantum still styles the widgets
QT_QPA_PLATFORM=xcbSet either persistently with a file in ~/.config/environment.d/ (one VAR=value per line), then log out and back in. On KDE Plasma none of this applies - KWin draws the Celestial window decorations for every app.
Complete your desktop with these complementary themes:
- Papirus Icon Theme - Modern icon theme with excellent coverage; pair
Papiruswith the standard variants,Papirus-Darkwith dark, andPapirus-Lightwith light - Papirus XApp Symbolic Icons - Redraws the XApp symbolic icons used by Cinnamon and Linux Mint apps in Papirus style at 16, 22, and 24px, so they stop looking out of place; installs into an existing Papirus theme
- Plank Reloaded - Modern dock with Celestial theme support
- Hardcode-Tray - Fix hardcoded tray icons
- Folder Color - Change individual folder colors in Nautilus, Nemo, and Caja
- Transparent panels - Cinnamon extension with full theme color support (turn on "Use current theme styles")
Papirus ships folder icons in every Celestial hue, and papirus-folders sets which one is the default. Pick the color for your variant, and the Papirus flavor you paired it with:
papirus-folders -C teal -t Papirus-Dark -u # Sea
papirus-folders -C green -t Papirus-Dark -u # Pueril
papirus-folders -C blue -t Papirus-Dark -u # Azul (Papirus default)
papirus-folders -C red -t Papirus-Dark -u # AlizUse -t Papirus for the standard variants and -t Papirus-Light for light, matching the pairing above. This changes the Papirus theme itself, so it applies everywhere Papirus is used, not just under Celestial - papirus-folders -D -t <theme> restores the default blue. The command elevates itself with sudo when Papirus is installed system-wide.
For a consistent look across GTK and Qt applications, we recommend Kvantum - a powerful SVG-based theme engine for Qt applications.
On KDE Plasma, --kde (see KDE Plasma above) already installs these Kvantum themes.
Celestial includes Kvantum themes that can be installed with the -k flag:
# Install all Kvantum theme variants
./install.sh --kvantum
# Install specific variant
./install.sh --kvantum -t azul -c darkAfter installation, use Kvantum Manager to select your Celestial theme variant. For more details, see the Kvantum README.
Alternative Qt Theming Tools:
If you prefer a different approach, consider:
- qt6gtk2 - Qt6 style plugin that uses GTK2 theme rendering
- Qt Style Plugins - Qt5 style plugins including GTK2 support
These plugins provide alternative ways to ensure Qt applications (KDE apps, VLC, Telegram, etc.) match your GTK theme.
Celestial Theme Forge by Erik Dubois generates Celestial in any accent color you like - 58 colors x light, standard, and dark. It ships a GTK4 picker that lets you grab a color with an eyedropper or a swatch, then builds and installs the theme to ~/.themes, covering GTK 2/3/4, GNOME Shell, Cinnamon, Xfwm4, Metacity, Openbox, Labwc, Plank, Kvantum, and KDE Plasma color schemes, global themes, desktop themes, and Aurorae decorations.
The generated themes are published ready to use at celestial-themes.
Celestial includes a modern cursor theme designed to complement all theme variants.
To install the cursor theme:
./install.sh --cursorsFor more details, see the Cursors README.
Celestial includes syntax highlighting themes for popular code editors:
For editors like Xed and other GTKSourceView-based applications, Celestial provides a comprehensive syntax highlighting theme with a carefully crafted color palette.
The GTKSourceView theme is automatically installed when you run the standard installation:
./install.shThe theme file is installed to ~/.local/share/gtksourceview-4/styles/celestial.xml (or /usr/share/gtksourceview-4/styles/ for system-wide installations).
For Zed users, Celestial provides 8 themes - 4 color variants (Aliz, Azul, Pueril, Sea) with both dark and light modes that match the GTK theme color palette.
To install all Zed themes:
./install.sh --zedTo install specific variant(s):
./install.sh --zed -t azul
./install.sh --zed -t sea -t alizThen select your theme from Zed's theme selector (Cmd+K Cmd+T or Ctrl+K Ctrl+T):
- Celestial Aliz Dark / Light
- Celestial Azul Dark / Light
- Celestial Pueril Dark / Light
- Celestial Sea Dark / Light
For more details, see the Zed theme README.
Note: Zed themes can only be installed for user accounts (not system-wide).
Celestial includes color themes for popular terminal emulators:
For Alacritty terminal users, Celestial provides a terminal theme that incorporates the Celestial color palette.
To install the Alacritty theme:
./install.sh --alacrittyThen import it from your alacritty.toml with [general] import = ["~/.config/alacritty/themes/Celestial.toml"]. For more details, see the Alacritty theme README.
Note: Alacritty themes can only be installed for user accounts (not system-wide).
For foot terminal users, Celestial provides a terminal theme that incorporates the Celestial color palette.
To install the foot theme:
./install.sh --footThen add include=~/.config/foot/themes/Celestial to the top of your foot.ini. For more details, see the foot theme README.
For Ghostty terminal users, Celestial provides a terminal theme that incorporates the Celestial color palette.
To install the Ghostty theme:
./install.sh --ghosttyThen set theme = "Celestial" in your Ghostty configuration file. For more details, see the Ghostty theme README.
For Kitty terminal users, Celestial provides a terminal theme that incorporates the Celestial color palette.
To install the Kitty theme:
./install.sh --kittyThen use the Kitty theme kitten (kitty +kitten themes) to select "Celestial", or include the theme in your kitty.conf. For more details, see the Kitty theme README.
Note: Kitty themes can only be installed for user accounts (not system-wide).
For Konsole and Yakuake users, Celestial provides a terminal color scheme that matches the palette. It is installed with the KDE Plasma themes:
./install.sh --kdeThen in Konsole: Settings > Edit Current Profile > Appearance and select the Celestial scheme. For more details, see the Konsole theme README.
For CopyQ clipboard manager users, Celestial provides 8 themes - 4 color variants (Aliz, Azul, Pueril, Sea) with both dark and light modes that match the GTK theme color palette.
To install all CopyQ themes:
./install.sh --copyqTo install specific variant(s):
./install.sh --copyq -t azul
./install.sh --copyq -t sea -c darkCopyQ themes are installed to ~/.config/copyq/themes/ for user installs or /usr/share/copyq/themes/ for system-wide installs.
Then in CopyQ: File > Preferences > Appearance > Select theme from dropdown menu
Available themes:
- Celestial Aliz Dark / Light
- Celestial Azul Dark / Light
- Celestial Pueril Dark / Light
- Celestial Sea Dark / Light
For more details and installation instructions, see the CopyQ theme README.
For Halloy IRC client users, Celestial provides 4 dark themes - one for each color variant (Aliz, Azul, Pueril, Sea) that match the GTK theme color palette.
To install all Halloy themes:
./install.sh --halloyTo install specific variant(s):
./install.sh --halloy -t azul
./install.sh --halloy -t sea -t alizHalloy themes are installed to ~/.config/halloy/themes/. Then in your Halloy config.toml, set:
theme = "celestial-sea"For more details and installation instructions, see the Halloy theme README.
Note: Halloy themes can only be installed for user accounts (not system-wide).
For Telegram Desktop users, Celestial provides 8 color palettes - 4 color variants (Sea, Aliz, Azul, Pueril) in light and dark.
Message bubbles stay neutral and are separated by elevation, with the accent reserved for links, controls, and the selected chat. Each theme also sets a flat Celestial chat background, replacing Telegram's patterned default.
To install one, open the theme file for your variant with Telegram Desktop:
xdg-open src/extra/telegram/Celestial-Sea-Dark.tdesktop-themeDouble-clicking the file or dragging it onto the Telegram window works too.
For more details, see the Telegram theme README.
For Slack users, Celestial provides 8 custom themes - 4 color variants (Aliz, Azul, Pueril, Sea) with both dark and light modes that match the GTK theme color palette.
Slack themes are simple copy-paste installations:
- Open Slack
- Click on your workspace name in the top-left
- Go to Preferences > Appearance > Custom theme
- Copy and paste one of the theme codes from the Slack theme README
Available themes:
- Celestial Aliz Dark / Light
- Celestial Azul Dark / Light
- Celestial Pueril Dark / Light
- Celestial Sea Dark / Light
Each theme uses a simple 4-value format: background,accent,accent,accent where the accent color is used for selected items, presence indicators, and notifications.
For theme codes and more details, see the Slack theme README.
For Sniffnet network monitor users, Celestial provides 8 themes - 4 color variants (Aliz, Azul, Pueril, Sea) with both dark and light modes that match the GTK theme color palette.
Sniffnet loads custom themes from a file path - there is no installer step:
- Open Sniffnet and go to Settings
- Select the Style tab and scroll to the custom theme field at the bottom
- Enter the full path to one of the theme files in
src/extra/sniffnet/(e.g.celestial-sea-dark.toml) - Sniffnet validates the file and applies it immediately
Available themes:
- Celestial Aliz Dark / Light
- Celestial Azul Dark / Light
- Celestial Pueril Dark / Light
- Celestial Sea Dark / Light
For more details, see the Sniffnet theme README.
For Spotifast users, Celestial provides 8 palettes - 4 color variants (Aliz, Azul, Pueril, Sea) in light and dark, generated from the GTK theme colors.
To install all Spotifast palettes:
./install.sh --spotifastTo install specific variant(s):
./install.sh --spotifast -t azul
./install.sh --spotifast -t sea -c darkThen in Spotifast: Settings > Appearance > Theme and pick a Celestial palette. If Spotifast is already open, run spotifast reload-themes first so it sees the new files. Turn off Colour from album art in the same section to keep Celestial's colors throughout.
Available themes:
- Celestial Aliz Dark / Light
- Celestial Azul Dark / Light
- Celestial Pueril Dark / Light
- Celestial Sea Dark / Light
For more details, see the Spotifast theme README.
Note: Spotifast themes can only be installed for user accounts (not system-wide).
If you modify SCSS files, rebuild the CSS:
./parse_sass.shThis will regenerate all CSS files from SCSS sources.
For troubleshooting common issues, see the Troubleshooting section in INSTALL.md.
Contributions are welcome! For development guidelines and detailed instructions, see HACKING.md.
Quick Start:
- Fork and create a feature branch
- Edit SCSS files in
src/*/sass/directories - Compile with
./parse_sass.sh - Test with
./install.sh -t azul -c dark - Submit a pull request
Celestial GTK Theme is based on:
- Arc GTK Theme by horst3180
- Matcha GTK Theme by Vince Liuice
Customized and maintained by:
Special thanks to all contributors who have helped improve this theme!
This project is licensed under the GNU General Public License v3.0 - see the LICENSE.md file for details.
If you like this theme, please consider:
- Starring the repository
- Reporting bugs or requesting features
- Contributing code improvements
- Sharing with others
Made with care for the Linux community












