Skip to content

Instantly share code, notes, and snippets.

@flexiondotorg
Created December 2, 2024 16:19
Show Gist options
  • Save flexiondotorg/d823f23a2c0b2f1f4fd181e521b1618f to your computer and use it in GitHub Desktop.
Save flexiondotorg/d823f23a2c0b2f1f4fd181e521b1618f to your computer and use it in GitHub Desktop.
A delightful Catppuccin theme for Starship
add_newline = false
command_timeout = 1000
format = "[](surface1)$os[](bg:surface2 fg:surface1)$username$sudo[](bg:overlay0 fg:surface2)$hostname[](bg:mauve fg:overlay0)$directory[](fg:mauve bg:peach)$c$dart$dotnet$elixir$elm$erlang$golang$haskell$haxe$java$julia$kotlin$lua$nim$nodejs$rlang$ruby$rust$perl$php$python$scala$swift$zig$package$git_branch[](fg:peach bg:yellow)$git_status[](fg:yellow bg:teal)$container$direnv$nix_shell$cmd_duration$jobs$shlvl$status$character"
palette = "catppuccin_mocha"
[c]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[character]
disabled = false
error_symbol = "(fg:red bg:pink)[](fg:pink) "
format = "$symbol"
success_symbol = "[](fg:blue) "
[cmd_duration]
format = "[  $duration]($style)"
min_time = 2500
min_time_to_notify = 60000
show_notifications = false
style = "fg:base bg:teal"
[container]
format = "[ $symbol $name]($style)"
style = "fg:base bg:teal"
symbol = "󱋩"
[dart]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[directory]
format = "[ $path]($style)[$read_only]($read_only_style)"
home_symbol = ""
read_only = " 󰈈"
read_only_style = "bold fg:crust bg:mauve"
style = "fg:base bg:mauve"
truncation_length = 3
truncation_symbol = "…/"
[directory.substitutions]
Apps = "󰵆"
Audio = ""
Crypt = "󰌾"
Desktop = ""
Development = ""
Documents = "󰈙"
Downloads = "󰉍"
Dropbox = ""
Games = "󰊴"
Keybase = "󰯄"
Music = "󰎄"
Pictures = ""
Public = ""
Quickemu = ""
Studio = "󰡇"
Vaults = "󰌿"
Videos = ""
Volatile = "󱪃"
Websites = "󰖟"
Zero = "󰎡"
nix-config = "󱄅"
[direnv]
allowed_msg = ""
denied_msg = ""
disabled = false
format = "[ $loaded]($style)"
loaded_msg = "󰐍"
not_allowed_msg = ""
style = "fg:base bg:teal"
symbol = ""
unloaded_msg = "󰙧"
[dotnet]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[elixir]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[elm]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[erlang]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[git_branch]
format = "[ $symbol $branch]($style)"
style = "fg:base bg:peach"
symbol = ""
[git_status]
ahead = "󰜹"
behind = "󰜰"
conflicted = "󰳤 "
deleted = " "
diverged = ""
format = "[ $all_status$ahead_behind]($style)"
modified = " "
renamed = " "
staged = " "
stashed = " "
style = "fg:base bg:yellow"
typechanged = " "
untracked = " "
up_to_date = "󰤓"
[golang]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[haskell]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = "󰲒"
[haxe]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[hostname]
disabled = false
format = "[ $hostname]($style)[$ssh_symbol](bg:overlay0 fg:maroon)"
ssh_only = false
ssh_symbol = " 󰖈"
style = "bg:overlay0 fg:red"
[java]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = "󰬷"
[jobs]
format = "[ $symbol $number]($style)"
style = "fg:base bg:teal"
symbol = "󰣖"
[julia]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[kotlin]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[lua]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[nim]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[nix_shell]
format = "[ $symbol]($style)"
style = "fg:base bg:teal"
symbol = "󱄅"
[nodejs]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[os]
disabled = false
format = "$symbol"
style = ""
[os.symbols]
AlmaLinux = "[](fg:text bg:surface1)"
Alpine = "[](fg:blue bg:surface1)"
Amazon = "[](fg:peach bg:surface1)"
Android = "[](fg:green bg:surface1)"
Arch = "[󰣇](fg:sapphire bg:surface1)"
Artix = "[](fg:sapphire bg:surface1)"
CentOS = "[](fg:mauve bg:surface1)"
Debian = "[](fg:red bg:surface1)"
DragonFly = "[](fg:teal bg:surface1)"
EndeavourOS = "[](fg:mauve bg:surface1)"
Fedora = "[](fg:blue bg:surface1)"
FreeBSD = "[](fg:red bg:surface1)"
Garuda = "[](fg:sapphire bg:surface1)"
Gentoo = "[](fg:lavender bg:surface1)"
Illumos = "[](fg:peach bg:surface1)"
Kali = "[](fg:blue bg:surface1)"
Linux = "[](fg:yellow bg:surface1)"
Macos = "[](fg:text bg:surface1)"
Manjaro = "[](fg:green bg:surface1)"
Mint = "[󰣭](fg:teal bg:surface1)"
NixOS = "[](fg:sky bg:surface1)"
OpenBSD = "[](fg:yellow bg:surface1)"
Pop = "[](fg:sapphire bg:surface1)"
Raspbian = "[](fg:maroon bg:surface1)"
RedHatEnterprise = "[](fg:red bg:surface1)"
Redhat = "[](fg:red bg:surface1)"
RockyLinux = "[](fg:green bg:surface1)"
SUSE = "[](fg:green bg:surface1)"
Solus = "[](fg:blue bg:surface1)"
Ubuntu = "[](fg:peach bg:surface1)"
Unknown = "[](fg:text bg:surface1)"
Void = "[](fg:green bg:surface1)"
Windows = "[󰖳](fg:sky bg:surface1)"
openSUSE = "[](fg:green bg:surface1)"
[package]
format = "[ $version]($style)"
style = "fg:base bg:peach"
version_format = "$raw"
[palettes.catppuccin_mocha]
base = "#1e1e2e"
blue = "#89b4fa"
crust = "#11111b"
flamingo = "#f2cdcd"
green = "#a6e3a1"
lavender = "#b4befe"
mantle = "#181825"
maroon = "#eba0ac"
mauve = "#cba6f7"
overlay0 = "#6c7086"
overlay1 = "#7f849c"
overlay2 = "#9399b2"
peach = "#fab387"
pink = "#f5c2e7"
red = "#f38ba8"
rosewater = "#f5e0dc"
sapphire = "#74c7ec"
sky = "#89dceb"
subtext0 = "#a6adc8"
subtext1 = "#bac2de"
surface0 = "#313244"
surface1 = "#45475a"
surface2 = "#585b70"
teal = "#94e2d5"
text = "#cdd6f4"
yellow = "#f9e2af"
[perl]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[php]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = "󰌟"
[python]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[rlang]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[ruby]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[rust]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[scala]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[shlvl]
disabled = false
format = "[ $symbol]($style)"
repeat = false
style = "fg:surface1 bg:teal"
symbol = "󱆃"
threshold = 3
[status]
disabled = false
format = "$symbol"
map_symbol = true
not_executable_symbol = "[](fg:teal bg:pink)[  $common_meaning](fg:red bg:pink)"
not_found_symbol = "[](fg:teal bg:pink)[ 󰩌 $common_meaning](fg:red bg:pink)"
sigint_symbol = "[](fg:teal bg:pink)[  $signal_name](fg:red bg:pink)"
signal_symbol = "[](fg:teal bg:pink)[ ⚡ $signal_name](fg:red bg:pink)"
style = ""
success_symbol = "[](fg:teal bg:blue)"
symbol = "[](fg:teal bg:pink)[  $status](fg:red bg:pink)"
[sudo]
disabled = false
format = "[ $symbol]($style)"
style = "fg:rosewater bg:surface2"
symbol = "󰌋"
[swift]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
[time]
disabled = true
[username]
format = "[ $user]($style)"
show_always = true
style_root = "fg:red bg:surface2"
style_user = "fg:green bg:surface2"
[username.aliases]
martin = "󰝴"
root = "󰱯"
[zig]
format = "[ $symbol]($style)"
style = "fg:base bg:peach"
symbol = ""
@jarrydstan
Copy link

jarrydstan commented Jan 23, 2025

What terminal are you using? I don't have a problem on macOS with alacritty. I remember reading iTerm has additional configuration options you have to fiddle with to make it work nicely, but I don't know what they are.

I am using Warp terminal, but also tried on iTerm and the default terminal, all the same!
I also can't see the icons in the gist either so maybe its just my mac

@flexiondotorg
Copy link
Author

I am using Warp terminal, but also tried on iTerm and the default terminal, all the same! I also can't see the icons in the gist either so maybe its just my mac

It sounds like Nerd Fonts is not installed correctly.

@ymauray
Copy link

ymauray commented Jan 23, 2025

In my case, I have FiraCode Nerd Font Mono installed.
I am using the default terminal on an M2 macbook air.

image

You can see the Apple icon and the Devil icon in the prompt, and the terminal is configured to use the font.

@dwvisser
Copy link

I’m also successfully using Fira Code Nerd Font Mono, in my case in Windows Terminal and in VS Code on Windows.

@flexiondotorg
Copy link
Author

flexiondotorg commented Jan 24, 2025

In my case, I have FiraCode Nerd Font Mono installed. I am using the default terminal on an M2 macbook air.

I have no idea if the default Terminal can support starship.

Take a look at:

@ymauray
Copy link

ymauray commented Jan 24, 2025

I do have the glyphs, that's not the problem. I just don't have any info in the prompt.

image

But I need to investigate more. Maybe there is simply nothing to display ?

@flexiondotorg
Copy link
Author

Between @popey and I, we've got this prompt working on macOS with iTerm, alacrity, and Ghosty terminals.

@popey
Copy link

popey commented Jan 25, 2025

Yup, here's a screenshot with Ghostty, Alacritty and iTerm2 using this starship config on macOS. I'm using BlexMono Nerd Font Mono, which is a patched version of the IBM Plex Mono font.

image

@ymauray
Copy link

ymauray commented Jan 25, 2025

yep, works like a charm with iTerm2, but not with the default terminal.

@jarrydstan
Copy link

I am using Warp terminal, but also tried on iTerm and the default terminal, all the same! I also can't see the icons in the gist either so maybe its just my mac

It sounds like Nerd Fonts is not installed correctly.

I found the issue in my warp terminal... they have a "Font" section in their appearance settings waaaay down the bottom, so changing that fixed it in the warp terminal.. not sure how to get it to work on the default terminal, but I never use that so no biggy, thanks for you config!

@imochoa
Copy link

imochoa commented Jan 27, 2025

Yup, here's a screenshot with Ghostty, Alacritty and iTerm2 using this starship config on macOS. I'm using BlexMono Nerd Font Mono, which is a patched version of the IBM Plex Mono font.
image

In the bottom left terminal, the apple and ninja emojis are cut off on the right (which is what is happening for me as well)

Has anyone had that problem and fixed it? 🤔

UPDATE
If I put an empty space after the symbol in the TOML file it renders correctly. I wonder if there's a better solution than modifying this file though...

@popey
Copy link

popey commented Jan 27, 2025

Yeah, I noticed that too. I switched to Ghostty so it's no longer an issue for me :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment