Skip to content

Repository files navigation

COSMIC · Tokyo Night

Pop!_OS 24.04 on COSMIC in Tokyo Night navy, blue and lime: desktop, terminal, shell, editor, Firefox, Brave, cursor, wallpapers.

Pop!_OS COSMIC Tokyo Night Firefox License


Pop!_OS COSMIC desktop with the Tokyo Night theme

Palette

Tokyo Night Dark, the low-contrast navy palette from the VS Code theme of the same name. Contrast is measured on the window background #1A1B26.

Role Color Hex Contrast
Background #1a1b26 Dark navy #1A1B26
Containers #24283b Storm / Highlight #24283B / #292E42
Text #c0caf5 Soft white #C0CAF5 10.6:1
Accent #7aa2f7 Blue #7AA2F7 6.8:1
Cyan #7dcfff Sky #7DCFFF 10.0:1
Purple #bb9af7 Lavender #BB9AF7 7.4:1
Success #9ece6a Green #9ECE6A 9.4:1
Warning #e0af68 Amber #E0AF68 8.5:1
Orange #ff9e64 Orange #FF9E64 8.4:1
Error #f7768e Rose #F7768E 6.5:1
Muted #737aa2 Dark 5 #737AA2 4.1:1
Comment #565f89 Comment #565F89 2.8:1

Comments sit deliberately low, as in the original theme. Everything you read as text is 6.5:1 or better.

Cosmic Night (Firefox only)

Firefox gets its own palette, sampled from the astronaut wallpaper with k-means and tuned until every text pair clears WCAG AA. It runs darker and cooler than the rest of the rice.

Role Color Hex
Background #000000 True black #000000
Panels #171b23 Shadow #171B23
Blue #79a3f7 Armor #79A3F7
Lime #a8ec61 Visor #A8EC61
Red #e04c5d Under-suit #E04C5D
Grey #3a3946 Mech detail #3A3946
Foreground #c3d0f5 Soft white #C3D0F5

Repo Structure

.
├── assets
│   ├── cursors/                 # cursor previews
│   ├── screenshot.png           # README screenshot
│   └── wallpaper.png            # the astronaut on the bare desktop
├── backgrounds/                 # wallpapers, tokyonight-<subject>.png (see Icons and wallpaper)
├── brave
│   ├── theme                    # Chromium theme (manifest + icons), Load unpacked
│   └── README.md
├── btop
│   └── TokyoNight.theme         # btop colour theme
├── claude-desktop
│   ├── cosmic-tokyo-night.jsonc # Claude Desktop theme (claude-desktop-extra), dark + light
│   └── install.sh
├── cosmic
│   ├── TokyoNight.ron           # COSMIC Appearance import (Dark)
│   ├── config/                  # baseline settings: fonts, icons, terminal look
│   └── install.sh
├── cosmic-term
│   └── TokyoNight-term.ron      # COSMIC Terminal colour scheme
├── cursors
│   ├── Oxygen-TokyoNight-*/      # cursor themes, one per icon colour, patched for COSMIC apps
│   ├── install.sh
│   ├── uninstall.sh
│   └── README.md
├── docs
│   └── showcase.md              # the rice describing itself, for the Postilla pane of the screenshot
├── icons
│   └── install.sh               # Cosmic-TokyoNight icon pack from cosmic-icon-themes
├── fastfetch
│   ├── config.jsonc             # blue / comment-grey fastfetch config
│   ├── cosmic.txt               # COSMIC logo, coloured by the config
│   └── install.sh
├── firefox                      # Cosmic Night browser theme
│   ├── theme
│   │   ├── manifest.json        # WebExtension theme, 40 colour keys
│   │   └── icons                # 32 / 48 / 64 / 96 / 128
│   ├── chrome
│   │   ├── userChrome.css       # browser UI: rounded corners, menu borders
│   │   └── userContent.css      # new tab page accent colour
│   ├── install.sh               # copies chrome/ into the default profile
│   └── README.md
├── lsd
│   ├── config.yaml              # theme: custom
│   ├── colors.yaml              # permission / size / date / git columns
│   └── install.sh
├── nvim                         # Neovim colorscheme, LazyVim spec, RON syntax, install.sh
├── telegram
│   ├── colors.tdesktop-theme    # Telegram Desktop colour scheme (source)
│   ├── cosmic-tokyonight.tdesktop-theme  # built theme, open this in Telegram
│   └── build.sh                 # rebuilds it, optionally with a wallpaper
├── vscode
│   ├── themes/                  # Cursor / VS Code colour themes, Tokyo Night (dark) + Tokyo Day (light)
│   ├── package.json             # extension manifest
│   ├── install.sh               # packs a .vsix, installs it with cursor --install-extension
│   └── README.md
├── scripts
│   ├── update_system.sh         # nala + flatpak, Tokyo Night ANSI
│   └── switch.sh                # make this the active rice (see Switching rice)
├── zsh
│   ├── tokyonight.zsh           # LS_COLORS, highlighting colours, aliases, starship
│   └── install.sh
├── LICENSE
└── README.md

COSMIC Desktop

Settings → Desktop → Appearance → Dark → Import → cosmic/TokyoNight.ron

The whole palette is Tokyo Night, in the same format as the DarkGold baseline: background #1A1B26, containers #24283B / #292E42, navy neutrals from #3B4261 to #C0CAF5 (so frosted glass tints navy, not grey), accent blue #7AA2F7, success #9ECE6A, warning #E0AF68, error #F7768E. Text tint is pinned to #C7D1FD, a touch brighter than Tokyo Night's #C0CAF5 so it stays crisp on the glass.

Frosted glass is on at frosted: Low with an opacity table of 0.66 to 0.96, tinted with the palette's middle neutral #545C7E, the same glass as every other rice. It covers windows, panel, applets and system UI (maximized apps stay solid), and corners are squared (radius_*: 2.0), the same as the DarkGold baseline. Adjust it on Appearance → Style → Frosted glass after import; those sliders survive a theme switch. Export from Appearance if you tweak it so you do not lose the changes.

Known COSMIC bug: moving the frosted glass opacity / thickness sliders can reset text_tint to #FFFFFF. If your text turns white, re-import cosmic/TokyoNight.ron; it carries the tint. Upstream fix proposed in libcosmic#1450, not merged.

Baseline settings

cosmic/config/ holds the settings that make up the look and rarely change (panel, dock, applets and shortcuts are left out on purpose):

Where Setting
Fonts Interface Maple Mono Normal, monospace Maple Mono Normal NFM
Icons Cosmic-TokyoNight-Blue
Windows Minimize / maximize buttons hidden, theme applied to GNOME apps
Terminal Maple Mono 15 (weights 500 / bold 800 / dim 300), 77% opacity, no header bar, Tokyo Night

Install the Maple fonts (Maple Mono Normal and Maple Mono Normal NFM) and the Cosmic-TokyoNight icons (see Icons below) and import the terminal scheme first, then:

./cosmic/install.sh

It backs up each file it replaces to *.bak and COSMIC applies it live.


COSMIC Terminal

The desktop .ron does not colour ANSI text.

  1. COSMIC Terminal → View → Color schemes… (not Settings → Appearance)
  2. Dark tab → Import → cosmic-term/TokyoNight-term.ron
  3. View → Settings → Appearance → Color scheme (dark) → Tokyo Night

If a profile is set as default, set the scheme on that profile too or the dropdown will look like it did nothing.


Firefox

Two layers:

  1. Theme (colours): install Cosmic Night on addons.mozilla.org. This is the main look: a true-black theme whose palette comes from the astronaut wallpaper rather than from Tokyo Night (see the second table under Palette). Blue chrome, a lime focus accent, red for alerts.
  2. Stylesheets (optional): firefox/chrome/ adds rounded corners, menu borders and the new tab accent on top of the theme:
./firefox/install.sh

Fully restart Firefox afterward: userChrome.css is only parsed at startup.

Full details and CSS gotchas in firefox/README.md.


Brave

brave/theme is a Chromium theme with the Firefox theme's colours: true-black frame, navy toolbar, blue icons and inactive tabs, lime on the active tab. Brave, Chrome, Chromium and Edge take it, and it loads straight from the clone, so no Chrome Web Store or Google account is needed:

brave://extensions → Developer mode → Load unpacked → brave/theme

Leave the clone in place, Brave keeps reading the folder. Colours, limits and packing a .crx: brave/README.md.


Claude Desktop

For the unofficial claude-desktop-extra Linux build. claude-desktop/cosmic-tokyo-night.jsonc is one theme with both halves: Tokyo Night in dark mode and Tokyo Day in light mode, so Claude's own Settings → Appearance toggle switches between the two rices. Colours come from cosmic/*.ron, contrast-checked (text and button text 4.5:1, accents 3:1).

./claude-desktop/install.sh

It copies the file into ~/.config/Claude/themes.d/. Then press Ctrl+Shift+T in Claude Desktop and pick cosmic-tokyo-night.

The same file ships in cosmic-tokyoday-theme, so installing from either repo gives the same theme.


Cursor editor

vscode/ is a colour theme extension for Cursor with both halves of the pair: Cosmic Tokyo Night and Cosmic Tokyo Day. It is a plain VS Code theme extension, so VS Code and VSCodium take it too, and the same folder ships in cosmic-tokyoday-theme. Code is coloured the way Neovim is in each rice; the workbench takes the desktop's window and container colours, with the accent on the active tab, buttons and menu highlight, and the integrated terminal uses the COSMIC Terminal scheme. Cursor builds its Agent and chat panels from the same theme colours, so they follow along.

./vscode/install.sh

It packs vscode/ into a .vsix and installs it with cursor --install-extension; run it again after editing the theme. Then press Ctrl+K Ctrl+T in Cursor and pick Cosmic Tokyo Night. Three lines in Cursor's settings.json make it follow COSMIC's Dark / Light toggle between Tokyo Night and Tokyo Day; they, the colours and the contrast notes are in vscode/README.md.


Telegram

telegram/cosmic-tokyonight.tdesktop-theme is a Telegram Desktop theme: dark navy chat list and background, storm incoming and dark-green outgoing bubbles, blue for the accent, links, unread badges and buttons (with navy text on them), green for online status and read ticks. Group member names use the rice's terminal colours. Text and badge colours are contrast-checked at 4.5:1 or better, except disabled menu items.

Settings → Chat Settings → Chat wallpaper → Choose from file → telegram/cosmic-tokyonight.tdesktop-theme → Apply this theme.

The colours live in telegram/colors.tdesktop-theme, which is plain text; build.sh zips it with the chat background into the .tdesktop-theme. The background is the plain window colour; to put a wallpaper behind the chat instead (ImageMagick re-encodes it to a 2560px JPEG, Telegram caps theme files at 5 MB):

./telegram/build.sh --wallpaper backgrounds/tokyonight-anime.png

Built against Telegram Desktop 7.3.1. Calls, group calls, statistics charts and premium badges keep Telegram's own colours.

Telegram has no dark / light pairing, so Tokyo Day, the light half, ships its own theme.


Scripts

update_system.sh

nala + flatpak updater with Tokyo Night coloured output: nala package updates (apt fallback), Flatpak updates, a Snap function that is off by default (uncomment update_snap in main), and a runtime timer.

chmod +x scripts/update_system.sh
./scripts/update_system.sh

Don't run the whole script with sudo: flatpak update would then only update system-wide installs and skip your per-user Flatpaks.

switch.sh

Makes this the active rice, coming from any other cosmic-*-theme rice. See Switching rice.

./scripts/switch.sh

Terminal extras

Need a Nerd Font in the terminal for the icons (Maple Mono NFM in the baseline above).

zsh

zsh/tokyonight.zsh is the rice part of the shell only: LS_COLORS (also used by lsd for file names and by the completion menu), Tokyo Night colours for zsh-autosuggestions and zsh-syntax-highlighting, lsd / bat / nvim aliases and the starship prompt. Your own ~/.zshrc stays private and sources it.

Needs zsh + oh-my-zsh. install.sh clones the two plugins if missing and appends one source line to ~/.zshrc (backup in ~/.zshrc.bak):

./zsh/install.sh
exec zsh

In ~/.zshrc keep ZSH_THEME="" and plugins=(git sudo zsh-autosuggestions zsh-syntax-highlighting).

lsd

File names are coloured by LS_COLORS from zsh/tokyonight.zsh; lsd/colors.yaml colours the other columns with the 256-colour codes nearest the palette (149 green, 111 blue, 179 yellow, 210 red, 141 purple, 60 comment). lsd 1.0.0 does not accept #hex there.

./lsd/install.sh
lsd -l

fastfetch

COSMIC logo in Tokyo Night blue, Hardware / Software / Age boxes in comment grey with purple titles, the same layout as every other rice. install.sh backs up any existing ~/.config/fastfetch/config.jsonc to config.jsonc.bak.

./fastfetch/install.sh
fastfetch

Neovim

nvim/ carries the rice into Neovim: a dependency-free colorscheme built from the palette (nvim/colors/tokyonight.lua), a LazyVim spec that selects it and makes sure the treesitter parsers for the files in this repo are installed (nvim/lua/plugins/tokyonight.lua), and a small RON syntax file so cosmic/*.ron is coloured even before the parser exists. :terminal inside Neovim uses the Tokyo Night scheme.

./nvim/install.sh
# restart nvim; LazyVim switches to the tokyonight colorscheme

Without LazyVim, copy nvim/colors/tokyonight.lua to ~/.config/nvim/colors/ and run :colorscheme tokyonight.

btop

btop/TokyoNight.theme: navy background, blue titles, green → yellow → red meters.

mkdir -p ~/.config/btop/themes
cp btop/TokyoNight.theme ~/.config/btop/themes/
# btop → Esc → Options → Color theme → TokyoNight

Cursor

Oxygen cursors recoloured to the icon colours, one per folder colour of the Cosmic-TokyoNight icon pack: Blue (default), Purple, Green, Dark. Patched with the cursor names COSMIC apps ask for. COSMIC has no cursor picker yet, so the script sets it:

./cursors/install.sh                      # Blue
./cursors/install.sh --variant Purple    # or another, see --list
reboot

Previews, what the script touches, how to undo it and how the colours are made: cursors/README.md.


Icons and wallpaper

Icons: Cosmic-TokyoNight, the Kanagawa icons by Fausto Korpsvart recolored to this palette in cosmic-icon-themes. Folders come in four colors: Blue #7AA2F7 (default), Purple #BB9AF7, Green #9ECE6A and Dark #292E42 with blue symbols.

Cosmic-TokyoNight folder colors

./icons/install.sh                   # Blue folders
./icons/install.sh --variant Purple  # or Green, Dark

It downloads the pack from the latest cosmic-icon-themes release, checks its SHA256, installs it to ~/.local/share/icons/ and sets it as the COSMIC icon theme. Restart open apps afterwards (Files caches icons per window). Add --system to install to /usr/share/icons instead, for every user and the login screen (asks for sudo); --user is the default.

Wallpapers ship in backgrounds/, named tokyonight-<subject>.png: the thirteen subjects every dark rice has, rendered in Tokyo Night blue and yellow: the Harbor Dark reaper and Hyundai blueprint, the COSMIC astronaut, the samurai, sushi switch, geisha, JS mug and neon street from the Tokyo Night set, The Greek eagle and ink portrait, and three new scenes: city, panel and tower. Plus the astronaut on black, tokyonight-cosmic-astronaut-black.png: the one in the screenshot, and the image the Firefox palette was sampled from. The subjects come from HANCORE-linux (MIT) and cool-wallpapers; each was rendered again in this palette, then upscaled. The big Tokyo Night set stays in cool-wallpapers, folder tokyonight/.

Settings → Wallpaper → Add image → a file from backgrounds/.

The astronaut wallpaper on the Tokyo Night desktop, panel only


Setup

Prerequisites: nala for the update script and a recent fastfetch.

sudo apt install nala
sudo add-apt-repository ppa:zhangsongcui3371/fastfetch
sudo nala update && sudo nala install fastfetch

Then:

git clone https://github.com/atraxsrc/cosmic-tokyonight-theme.git
cd cosmic-tokyonight-theme

# desktop
# Settings → Appearance → Dark → Import cosmic/TokyoNight.ron

# terminal
# View → Color schemes → Import cosmic-term/TokyoNight-term.ron

# firefox stylesheets (optional)
./firefox/install.sh

# brave: brave://extensions → Developer mode → Load unpacked → brave/theme

# claude desktop (claude-desktop-extra), then Ctrl+Shift+T
./claude-desktop/install.sh

# cursor editor, then Ctrl+K Ctrl+T → Cosmic Tokyo Night
./vscode/install.sh

# telegram desktop
# Settings → Chat Settings → Chat wallpaper → Choose from file → telegram/cosmic-tokyonight.tdesktop-theme

# shell + terminal tools (see Terminal extras above)
./zsh/install.sh
./lsd/install.sh
./fastfetch/install.sh
./nvim/install.sh
mkdir -p ~/.config/btop/themes && cp btop/TokyoNight.theme ~/.config/btop/themes/

# wallpaper
# Settings → Wallpaper → Add image → a file from backgrounds/ (see Icons and wallpaper above)

./cursors/install.sh                # cursor, Blue (see Cursor above), then reboot
./icons/install.sh                  # icons (see Icons above)
# Maple fonts (https://github.com/subframe7536/maple-font), then
# fonts, icons, terminal look from cosmic/config/
./cosmic/install.sh

Switching rice

The installers replace what they own (with a *.bak copy), but some things pile up instead: shell layers in ~/.zshrc, LazyVim specs, the updater link and btop's theme setting. scripts/switch.sh makes Tokyo Night the active rice, coming from any other cosmic-*-theme rice, and tidies those up. Every rice repo ships the same script.

./scripts/switch.sh               # switch, icons included
./scripts/switch.sh --keep-icons  # leave the current icon theme alone

It backs up every file it replaces, then:

  • copies cosmic/config/ (fonts, terminal look, icons) and turns dark mode on. The terminal scheme and icon theme are only replaced when the current one is not already a Tokyo Night variant, so a dimmer text variant or another icon colour survives. Icons stay as they are until ./icons/install.sh has run.
  • runs the fastfetch, lsd, Neovim and Claude Desktop installers and sets btop's color_theme
  • moves every other rice's LazyVim spec from ~/.config/nvim/lua/plugins/ to ~/.config/nvim/rice-off/ (LazyVim loads every spec there and the last colorscheme wins); your own specs stay
  • comments out every other rice's source line in ~/.zshrc, and cosmic-ricing's ricing/zsh/colors.zsh, then uncomments Tokyo Night's or adds it
  • points ~/update_system.sh at this repo's updater
  • installs the Firefox userChrome / userContent

The GUI steps it cannot do are printed at the end:

  1. Settings → Desktop → Appearance → Dark → Import cosmic/TokyoNight.ron
  2. COSMIC Terminal → View → Color schemes → Dark tab → Import cosmic-term/TokyoNight-term.ron
  3. Firefox: disable the old rice's add-on, enable this one, restart Firefox
  4. Settings → Wallpaper → a file from backgrounds/
  5. Claude Desktop: Ctrl+Shift+T → cosmic-tokyo-night, Appearance → Dark
  6. exec zsh, restart Neovim (:Lazy clean drops plugins only the old specs used)

Skip 1 and 2 when that slot already holds Tokyo Night. The first time on this rice, run Setup once for the fonts, icons and cursor.

Within the pair (Tokyo Night ↔ Tokyo Day): the two halves sit side by side in COSMIC's Dark and Light slots and share one Claude Desktop theme, so after the first time only the Firefox add-on and the wallpaper are left by hand. Add --keep-icons to keep one icon colour across the pair.

Leaving Tokyo Night is the next rice's ./scripts/switch.sh. ./cursors/uninstall.sh puts the Pop cursor back.


Stack

Tool What it does
Pop!_OS 24.04 Base OS by System76
COSMIC DE Desktop environment
oh-my-zsh zsh framework + plugins
lsd ls with icons and colours
fastfetch System info
btop Resource monitor
nala Nicer apt frontend for the update script
cosmic-icon-themes Icon pack (Cosmic-TokyoNight), recolored from Kanagawa icons
Oxygen-Cursors Cursor, recoloured to the icon colours

Credits

License

MIT. The cursor artwork keeps the terms of KDE's Oxygen project, see cursors/README.md.

Releases

Packages

Used by

Contributors

Languages