Skip to content

Submitting Themes

Athena OS gives you the chance to propose your favourite rice and deploy it. This document explains how to prepare and propose your custom theme in order to be submitted for Athena OS.

Generally, an Athena environment theme consists of:

  • GTK4 theme: change the colours, window decorations, and overall style
  • Icon theme: change the application and system icon style
  • Cursor theme: change the mouse cursor style
  • Background: desktop image
  • Kitty theme: Kitty terminal color style
  • Codium theme: VSCodium style
  • Tmux theme: Tmux color style

Let’s suppose you would like to submit a theme for Athena OS. The process consists of the following steps:

  1. Identify the elements of the theme (GTK4 theme, Icon theme, Cursor theme, Background, Kitty theme, VSCodium theme, Tmux theme)
  2. Test the theme on your local machine
  3. Submit the theme

Identify the elements

The elements of a theme can be retrieved from Internet. There are several websites that offer these elements for each environment, for example GNOME Look for GNOME or MATE Look. Just use an online search engine for getting them.

If you are a GTK or Icon or Cursor theme developer, you can create your elements from scratch.

For Kitty theme, you can retrieve them by opening a Kitty terminal and running:

kitty +kitten themes

Take note of the name of the theme.

For VSCodium, you can retrieve a theme from VSCodium Extensions section. Take note of the name of the theme.

For Tmux, the available themes can be found in the Tmux Powerline Theme webpage. Take note of the name of the theme.

Test the theme

Once you get all the elements of the theme, you need to test them in your local machine to check if the overall theme works as intended.

Athena OS is a declarative OS, it means you need to “declare” the theme resources you need to test. You need to create a .nix module that sets the defined theme. For GTK theme, Icon theme and Cursor theme, you can refer as example to the Nix modules provided by Athena OS.

Kitty can be tested directly by running:

kitty +kitten themes

and selecting the color style suitable for your theme.

VSCodium theme can be selected and installed directly from the Extensions section.

Tmux theme can be tested by editing ~/.tmux.conf and setting the line containing the following field with the name of the chosen theme:

set -g @tmux_power_theme '<theme-name>'

or it can be done declarative in case .tmux.conf is read-only.

Then, you must apply these elements on your environment. The implementation of GTK, Icon and Cursor themes depends on the environment you are looking for, whereas Kitty, VSCodium and Tmux themes are independent from that.

GNOME

Open Tweaks application and set the theme elements there: GNOME Tweaks

Move to Appearance tab and:

  • for the GTK theme, select your theme on Shell (for top bar) and Legacy Applications (for GTK windows) fields.
  • for the Icon theme, select your icon theme on Icons field.
  • for the Cursor theme, select your cursor theme on Cursor field.
  • for the Background image, tweak your image and its adjustment under the Background section.

You can set them also by using your terminal. Open the terminal and apply the GTK theme by running:

gsettings set org.gnome.desktop.interface gtk-theme <gtk_foldername>
gsettings set org.gnome.desktop.wm.preferences theme <gtk_foldername>
gsettings set org.gnome.shell.extensions.user-theme name <gtk_foldername>

<gtk_foldername> is the name of the GTK theme folder you stored in /usr/share/themes/

Apply the Icon theme by running:

gsettings set org.gnome.desktop.interface icon-theme <icon_theme_foldername>

<icon_theme_foldername> is the name of the Icon theme folder you stored in /usr/share/icons/

Apply the Cursor theme by running:

gsettings set org.gnome.desktop.interface cursor-theme <cursor_theme_foldername>

<cursor_theme_foldername> is the name of the Icon theme folder you stored in /usr/share/icons/

Apply the Background image by running:

gsettings set org.gnome.desktop.background picture-uri-dark background.png
gsettings set org.gnome.desktop.background picture-options stretched

stretched is used to adjust the image in order to fill the entire screen.

Hyprland

Open the terminal and apply the GTK theme by running:

gsettings set org.gnome.desktop.interface gtk-theme <gtk_foldername>
gsettings set org.gnome.desktop.wm.preferences theme <gtk_foldername>
gsettings set org.gnome.shell.extensions.user-theme name <gtk_foldername>

<gtk_foldername> is the name of the GTK theme folder you stored in /usr/share/themes/

Apply the Icon theme by running:

gsettings set org.gnome.desktop.interface icon-theme <icon_theme_foldername>

<icon_theme_foldername> is the name of the Icon theme folder you stored in /usr/share/icons/

Apply the Cursor theme by running:

gsettings set org.gnome.desktop.interface cursor-theme <cursor_theme_foldername>

<cursor_theme_foldername> is the name of the Icon theme folder you stored in /usr/share/icons/

Apply the Background image by renaming your image as wallpaper and just replace ~/.config/eww/images/wallpaper/wallpaper by your image file.

Submit the theme

Submit the theme on Athena Ticketing System by clicking on Get started of Submit theme entry and propose your theme to the Community! Ask Community for reacting to the opened ticket and high reacted themes will be implemented in Athena Nix!