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
- tags
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
$ossegment at the left of the Starship prompt — a single Nerd Font glyph. Changing it is a one-line edit instarship.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:
# Ptyxis (ships with Fedora Workstation; install if missing)sudo dnf install -y ptyxis
# Starship promptsudo dnf install -y starship# (alternative, upstream installer): curl -sS https://starship.rs/install.sh | shA 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:
mkdir -p ~/.local/share/fonts/JetBrainsMonoNerdFontcd /tmpcurl -fLO https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zipunzip -o JetBrainsMono.zip -d ~/.local/share/fonts/JetBrainsMonoNerdFontfc-cache -ffc-list | grep -i "JetBrainsMono Nerd Font" | head # verify it's picked upSolution
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):
gsettings set org.gnome.Ptyxis use-system-font falsegsettings set org.gnome.Ptyxis font-name 'JetBrainsMono Nerd Font Mono 12'Verify:
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):
# ~/.zshrc — keep this line lastcommand -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 = 3truncation_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 = falsetime_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?
isnf-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.tomland 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-nameandgsettings set org.gnome.Ptyxis use-system-font true, and remove the Starship line from your rc (orrm ~/.config/starship.tomlfor the default prompt).
Quick reference
# 1. Installsudo dnf install -y ptyxis starshipmkdir -p ~/.local/share/fonts/JetBrainsMonoNerdFont && cd /tmpcurl -fLO https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zipunzip -o JetBrainsMono.zip -d ~/.local/share/fonts/JetBrainsMonoNerdFont && fc-cache -f
# 2. Ptyxis fontgsettings set org.gnome.Ptyxis use-system-font falsegsettings 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