Recently I extended and refactored the experimental theming support in cirrus to allow users to create custom cloudy-org application themes. We should create a wiki page for this.
To create a theme you just create a TOML file named theme.toml with some fields and a colour pallet (check out the rubber-ducky example), then throw it into your user themes folder (located at ~/.local/share/cloudy/themes) *in it's own sub directory (~/.local/share/cloudy/themes/rubber-ducky/theme.toml)*.
UPDATE (06/05/2026): Theme folders are now nested within an additional folder called theme pack. Using the example from last time, rubber ducky's theme.toml will be stored in ~/.local/share/cloudy/themes/my-theme-pack/rubber-ducky/theme.toml. The my-theme-pack directory can be named anything, that was just an example.
That is where user made themes should go, cloudy-org standard themes such as themes will be packaged with your operating system's package manager, hence it will typically end up in /usr/local/share/cloudy/themes or /usr/share/cloudy/themes for Linux. Cirrus will automatically look in those directories IF your distro's $XDG_DATA_DIRS environment variable is pointing to them (cirrus_path follows $XDG_DATA_DIRS), however ~/.local/share/cloudy/themes will take priority.
Windows user themes go in C:\Users\{user}\AppData\Local\Cloudy\themes.
The theme folder (e.g: rubber-ducky) MUST be named in all lowercase characters. The convention also is to use dashes (-) instead of underscores or spaces. The folder name will be used as the theme code name that users will use to reference your theme (e.g: CTK_THEME="rubber-ducky").
This cirrus issue explains more: cloudy-org/cirrus#24
Additionally you can read the source code or ask me questions for the exacts.
Recently I extended and refactored the experimental theming support in cirrus to allow users to create custom cloudy-org application themes. We should create a wiki page for this.
To create a theme you just create a TOML file named
theme.tomlwith some fields and a colour pallet (check out the rubber-ducky example), then throw it into your user themes folder (located at~/.local/share/cloudy/themes)*in it's own sub directory (*.~/.local/share/cloudy/themes/rubber-ducky/theme.toml)UPDATE (06/05/2026): Theme folders are now nested within an additional folder called theme pack. Using the example from last time, rubber ducky's
theme.tomlwill be stored in~/.local/share/cloudy/themes/my-theme-pack/rubber-ducky/theme.toml. Themy-theme-packdirectory can be named anything, that was just an example.That is where user made themes should go, cloudy-org standard themes such as
themeswill be packaged with your operating system's package manager, hence it will typically end up in/usr/local/share/cloudy/themesor/usr/share/cloudy/themesfor Linux. Cirrus will automatically look in those directories IF your distro's$XDG_DATA_DIRSenvironment variable is pointing to them (cirrus_pathfollows$XDG_DATA_DIRS), however~/.local/share/cloudy/themeswill take priority.Windows user themes go in
C:\Users\{user}\AppData\Local\Cloudy\themes.The theme folder (e.g:
rubber-ducky) MUST be named in all lowercase characters. The convention also is to use dashes (-) instead of underscores or spaces. The folder name will be used as the theme code name that users will use to reference your theme (e.g:CTK_THEME="rubber-ducky").This cirrus issue explains more: cloudy-org/cirrus#24
Additionally you can read the source code or ask me questions for the exacts.