Give Ptyxis a Starship powerline prompt with a Tux logo on Fedora

Published 19 July 2026

date
env
linux Fedora 44 (GNOME / Wayland) — Framework Laptop 16 macos N/A — Starship config is portable, but Ptyxis is Linux/GTK only

Ptyxis is Fedora’s default GTK4 terminal. Out of the box it’s plain. This HOWTO makes it look sharp: a Nerd Font so glyphs render, a Starship powerline prompt, and a small personal touch — the leading operating-system glyph changed from Fedora’s “f” mark to the Tux penguin (󰌽).

Note on the “logo”: the Tux you see is not the Ptyxis app icon. It’s the $os segment at the left of the Starship prompt — a single Nerd Font glyph. Changing it is a one-line edit in starship.toml, and it’s portable to any terminal (Kitty, Alacritty, Ghostty, GNOME Terminal). If you’re coming from Ghostty, see Ghostty crashes on Fedora 44 → switching to Ptyxis.

Environment: Fedora 44, GNOME on Wayland, zsh as the login shell.


Goal

  • Ptyxis using JetBrainsMono Nerd Font (so powerline separators and icons render).
  • A Starship powerline prompt (OS badge → directory → git → language versions → clock).
  • The OS badge showing Tux (󰌽) instead of the Fedora logo.

Prerequisites

Ptyxis is already installed on a default Fedora GNOME. Confirm it, and install Starship and a Nerd Font:

Terminal window
# Ptyxis (ships with Fedora Workstation; install if missing)
sudo dnf install -y ptyxis
# Starship prompt
sudo dnf install -y starship
# (alternative, upstream installer): curl -sS https://starship.rs/install.sh | sh

A Nerd Font is mandatory — the prompt uses private-use glyphs (powerline separators and icons) that only patched fonts contain. Install JetBrainsMono Nerd Font per-user:

Terminal window
mkdir -p ~/.local/share/fonts/JetBrainsMonoNerdFont
cd /tmp
curl -fLO https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
unzip -o JetBrainsMono.zip -d ~/.local/share/fonts/JetBrainsMonoNerdFont
fc-cache -f
fc-list | grep -i "JetBrainsMono Nerd Font" | head # verify it's picked up

Solution

Step 1 — Point Ptyxis at the Nerd Font

Ptyxis stores settings in GSettings (dconf), per profile. The reliable way is the UI, but the exact result is a one-liner you can also script.

Via the UI: open Ptyxis → Preferences → your profile → turn off Use system font → set the custom font to JetBrainsMono Nerd Font Mono 12.

Or via dconf (what the UI writes):

Terminal window
gsettings set org.gnome.Ptyxis use-system-font false
gsettings set org.gnome.Ptyxis font-name 'JetBrainsMono Nerd Font Mono 12'

Verify:

Terminal window
dconf dump /org/gnome/Ptyxis/ | grep -E 'use-system-font|font-name'
# use-system-font=false
# font-name='JetBrainsMono Nerd Font Mono 12'

Step 2 — Enable Starship in your shell

Starship is shell-side, so it’s independent of the terminal. Add its init to the end of your shell rc (zsh here):

Terminal window
# ~/.zshrc — keep this line last
command -v starship >/dev/null && eval "$(starship init zsh)"

For bash use ~/.bashrc and starship init bash. Reload with exec zsh (or open a new Ptyxis tab).

Step 3 — Drop in the powerline starship.toml

Create ~/.config/starship.toml. This is a Pastel-Powerline style prompt with OS badge, directory, git, common language versions, and a clock:

"$schema" = 'https://starship.rs/config-schema.json'
format = """
[░▒▓](#a3aed2)\
$os\
[](bg:#769ff0 fg:#a3aed2)\
$directory\
[](fg:#769ff0 bg:#394260)\
$git_branch\
$git_status\
[](fg:#394260 bg:#212736)\
$nodejs\
$bun\
$rust\
$golang\
$php\
[](fg:#212736 bg:#1d2230)\
$time\
[ ](fg:#1d2230)\
\n$character"""
[directory]
style = "fg:#e3e5e5 bg:#769ff0"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = " "
"Pictures" = " "
[git_branch]
symbol = ""
style = "bg:#394260"
format = '[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)'
[git_status]
style = "bg:#394260"
format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)'
[nodejs]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[bun]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[rust]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[golang]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[php]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[time]
disabled = false
time_format = "%R"
style = "bg:#1d2230"
format = '[[ $time ](fg:#a0a9cb bg:#1d2230)]($style)'

Step 4 — Make the OS badge Tux

Add the [os] module and override the symbol table so Fedora renders as Tux. Starship’s default symbol for Fedora is its own logo; here we force the penguin glyph 󰌽 (Nerd Font nf-md-linux, U+F033D) for both Fedora and generic Linux:

[os]
style = "bg:#a3aed2 fg:#090c0c"
format = "[ $symbol ]($style)"
disabled = false
[os.symbols]
Linux = "󰌽"
Fedora = "󰌽" # ← Tux penguin instead of the Fedora "f"
# add any distros you hop between:
Arch = "󰣇"
Debian = "󰣚"
Ubuntu = "󰕈"
Macos = "󰀵"

disabled = false is required — the os module is off by default in Starship. Open a new Ptyxis tab: the prompt now opens with a Tux badge.

Notes and good practices

  • Nerd Font is non-negotiable. If you see tofu boxes (□) or broken powerline separators, the terminal font isn’t a Nerd Font — recheck Step 1. The font in the OS badge and separators comes from Ptyxis, not Starship.
  • Which glyph is Tux? 󰌽 is nf-md-linux (the penguin). Don’t confuse it with the Fedora glyph “ (nf-linux-fedora). Browse names at https://www.nerdfonts.com/cheat-sheet.
  • Portable prompt. starship.toml and the shell init are terminal-agnostic; the exact same prompt appears in Kitty, Alacritty, or Ghostty. Only Step 1 (font selection) is Ptyxis-specific.
  • Colors. The hex values are a self-contained palette; tweak the bg:/fg: pairs to re-theme. Keep each segment’s trailing separator color matching the next segment’s background or the powerline “arrows” won’t line up.
  • Reversible. To go back: gsettings reset org.gnome.Ptyxis font-name and gsettings set org.gnome.Ptyxis use-system-font true, and remove the Starship line from your rc (or rm ~/.config/starship.toml for the default prompt).

Quick reference

Terminal window
# 1. Install
sudo dnf install -y ptyxis starship
mkdir -p ~/.local/share/fonts/JetBrainsMonoNerdFont && cd /tmp
curl -fLO https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
unzip -o JetBrainsMono.zip -d ~/.local/share/fonts/JetBrainsMonoNerdFont && fc-cache -f
# 2. Ptyxis font
gsettings set org.gnome.Ptyxis use-system-font false
gsettings set org.gnome.Ptyxis font-name 'JetBrainsMono Nerd Font Mono 12'
# 3. Shell init (append, keep last)
echo 'command -v starship >/dev/null && eval "$(starship init zsh)"' >> ~/.zshrc
# 4. Tux OS badge — in ~/.config/starship.toml
# [os]
# disabled = false
# [os.symbols]
# Fedora = "󰌽"
exec zsh # reload