Skip to content

Instantly share code, notes, and snippets.

@BlockedPath
Last active July 21, 2026 12:28
Show Gist options
  • Select an option

  • Save BlockedPath/c8cd3973efde90104ec9eb1f2ccfec5b to your computer and use it in GitHub Desktop.

Select an option

Save BlockedPath/c8cd3973efde90104ec9eb1f2ccfec5b to your computer and use it in GitHub Desktop.
Pi coding agent + Ghostty setup (tokyo-night-storm-improved, statusline, tps-meter, startup-header)

My Pi + Ghostty setup

Glass/blur/image = Ghostty. Agent UI = Pi theme + statusline + tps meter + startup header.

Pi packages

Theme

tokyo-night-storm-improved
πŸ“¦ https://www.npmjs.com/package/pi-theme-tokyo-night-storm-improved
πŸ™ https://github.com/H1V35/pi-theme-tokyo-night-storm-improved

Statusline

@narumitw/pi-statusline
πŸ“¦ https://www.npmjs.com/package/@narumitw/pi-statusline
πŸ™ https://github.com/narumiruna/pi-extensions

TPS meter

pi-tps-meter
πŸ“¦ https://www.npmjs.com/package/pi-tps-meter
πŸ™ https://github.com/vskrch/pi-tps-meter

Startup header

pi-startup-header
πŸ“¦ https://www.npmjs.com/package/pi-startup-header
πŸ™ https://github.com/EnderLiquid/pi-startup-header

Install

pi install npm:pi-theme-tokyo-night-storm-improved
pi install npm:@narumitw/pi-statusline
pi install npm:pi-tps-meter
pi install npm:pi-startup-header

~/.pi/agent/settings.json (relevant bits)

{
  "packages": [
    "npm:pi-theme-tokyo-night-storm-improved",
    "npm:@narumitw/pi-statusline",
    "npm:pi-tps-meter",
    "npm:pi-startup-header"
  ],
  "theme": "tokyo-night-storm-improved",
  "quietStartup": true,
  "tokenSpeed": {
    "display": "tps",
    "useProviderTokens": false,
    "countStrategy": "direct",
    "endTpsBehavior": "last"
  }
}

Quiet startup

  • quietStartup: true hides the default Pi startup header text.
  • Toggle it in /settings (or set it in settings.json).
  • If you want the fancy ASCII header from pi-startup-header, leave quietStartup off / false so the extension can show it. With quietStartup: true, startup chrome is suppressed.

Statusline config (~/.pi/agent/pi-statusline.json)

{
  "palette": "tokyo-night",
  "density": "compact",
  "separator": "none",
  "segments": [
    "brand",
    "provider",
    "model",
    "thinking",
    "cwd",
    "branch",
    "tools",
    "context",
    "tokens",
    "cost",
    "time"
  ],
  "segmentText": {
    "brand": { "prefix": "", "suffix": "" },
    "provider": { "prefix": "πŸ”Œ ", "suffix": "" },
    "model": { "prefix": "πŸ€– ", "suffix": "" },
    "thinking": { "prefix": "🧠 ", "suffix": "" },
    "cwd": { "prefix": "πŸ“ ", "suffix": "" },
    "branch": { "prefix": "🌿 ", "suffix": "" },
    "tools": { "prefix": "", "suffix": "" },
    "context": { "prefix": "πŸͺŸ ctx ", "suffix": "" },
    "tokens": { "prefix": "πŸ”’ ", "suffix": "" },
    "cost": { "prefix": "πŸ’Έ $", "suffix": "" },
    "time": { "prefix": "πŸ•’ ", "suffix": "" },
    "turn": { "prefix": "πŸ” #", "suffix": "" }
  },
  "extensionStatusIcons": {
    "chrome-devtools": "🌐",
    "codex-usage": "πŸ“Š",
    "caffeinate": "πŸ’Š",
    "firecrawl": "πŸ”₯",
    "github-pr": "πŸ”Ž",
    "goal": "🎯",
    "lsp": "🧰",
    "plan-mode": "πŸ“",
    "pisync": "πŸ”„",
    "subagents": "πŸ§‘β€πŸ€β€πŸ§‘",
    "unknown-error-retry": "πŸ”"
  }
}

Ghostty config

(~/Library/Application Support/com.mitchellh.ghostty/config.ghostty on macOS)

theme = oscura-midnight-grok
font-family = "JetBrainsMono NFM Regular"
font-size = 20
window-padding-x = 10
window-padding-y = 10
window-decoration = true
cursor-style = block
adjust-cell-height = 35%
mouse-scroll-multiplier = 2
window-colorspace = "display-p3"
copy-on-select = clipboard
window-padding-balance = true
window-save-state = never
macos-titlebar-style = transparent

background-blur = 20
background-opacity = 0.95
background-image = ~/image5.png
background-image-opacity = 0.30
background-image-fit = cover
background-image-position = center
minimum-contrast = 5
foreground = #e8e4ef

Ghostty theme (~/.config/ghostty/themes/oscura-midnight-grok)

# Oscura Midnight–inspired
background = #0c0b10
foreground = #e8e4ef
cursor-color = #c4a7e7
cursor-text = #0c0b10
selection-background = #3d2a4f
selection-foreground = #f2eef8

palette = 0=#1a1820
palette = 8=#5a5466
palette = 1=#e06c75
palette = 9=#f08a92
palette = 2=#7fd99a
palette = 10=#a0e8b4
palette = 3=#e0af68
palette = 11=#f0c674
palette = 4=#7aa2f7
palette = 12=#9cbcff
palette = 5=#c4a7e7
palette = 13=#d4b8f5
palette = 6=#7dcfff
palette = 14=#a0e0ff
palette = 7=#d0cbd8
palette = 15=#f5f2fa

Notes

  • Pi has no transparency options. Empty theme colors ("") use the terminal default; solid *Bg hex paints over glass.
  • Real glass/blur/image transparency is 100% Ghostty (background-opacity, background-blur, background-image*).
  • Swap ~/image5.png for your own wallpaper path.
  • Quiet mode: set "quietStartup": true in settings, or toggle it in /settings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment