Powerlevel10k: Zsh Theme for Speed and Customization
Powerlevel10k is a Zsh prompt theme built around speed and a guided setup wizard, and it's worth installing if you want a fast, information-dense prompt without hand-writing prompt syntax. One thing to know going in: the README flags very limited support, no planned new features, and unfixed bugs. Install it for what it does today; skip it if you need active maintenance going forward.
What is Powerlevel10k?
Powerlevel10k is a theme for the Zsh shell that replaces the default prompt with one built for speed and heavy customization. Running `p10k configure` launches a configuration wizard that writes your choices into `~/.p10k.zsh`, covering everything from Git status to language-runtime versions. It can also mimic the Pure theme or carry over an existing Powerlevel9k setup.
Key features of Powerlevel10k
- ✓Configuration wizard: `p10k configure` walks you through prompt styles and writes the result to `~/.p10k.zsh`.
- ✓Instant prompt: prints a prompt immediately on Zsh startup even when slow plugins like pyenv or nvm are still loading.
- ✓Transient prompt: trims completed prompts down to a compact form so scrollback stays easy to copy-paste.
- ✓Show on command: segments like `kubecontext` only appear when you type a command that uses them (e.g. `kubectl`, `helm`).
- ✓Powerlevel9k compatibility: understands existing `POWERLEVEL9K_*` config parameters for a near-drop-in migration.
- ✓Pure style support: can render the same prompt as the Pure theme while keeping instant and transient prompt.
- ✓Dozens of built-in segments covering Git status, language versions (Python, Node, Go, Rust, PHP...), cloud CLI context (AWS, GCP, Azure), battery, and CPU load.
- ✓Extensible: a public API lets you define custom segments, e.g. reading CPU temperature from `/sys/class/thermal`.
How to install Powerlevel10k
The manual path works everywhere, including with a plugin manager (just disable your current theme first): ``` git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc ``` For Oh My Zsh, clone into `${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k` and set `ZSH_THEME="powerlevel10k/powerlevel10k"` in `~/.zshrc`. The README also documents Prezto, Zim, Antibody, Antidote, Antigen, Zplug, Zgen, Zplugin, Zinit, Zi, and Zap plugin-manager snippets, plus Homebrew (`brew install powerlevel10k`), Arch Linux (`yay -S zsh-theme-powerlevel10k-git`), Alpine Linux (`apk add zsh-theme-powerlevel10k`), and a Fig integration. Users in China get a gitee.com mirror for faster clones. Installing the recommended Meslo Nerd Font first is optional but highly recommended, per the README — without it, some prompt styles in the wizard won't render correctly. Restart with `exec zsh` and run `p10k configure` if the wizard doesn't start on its own.
Configuring Powerlevel10k
Configuration starts with the wizard: run `p10k configure` and it writes your answers to `~/.p10k.zsh`, a heavily commented file you can hand-edit afterward. To limit when a segment appears, search `~/.p10k.zsh` for `SHOW_ON_COMMAND` and adjust or remove those parameters -- for example `POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens'` only shows the Kubernetes context segment when you type one of those commands. Changes made to `POWERLEVEL9K_*` variables in a live shell need a `p10k reload` to take effect; setting `POWERLEVEL9K_DISABLE_HOT_RELOAD=false` removes that step at the cost of a marginally slower prompt. Instant prompt and transient prompt are both toggled through the same wizard, or by hand in `~/.p10k.zsh`.
Strengths
- ✓Configuration wizard gets a usable prompt running in a couple of minutes without editing config files by hand.
- ✓Instant prompt removes Zsh startup lag even when the cause is a slow plugin, not the theme itself.
- ✓Reads existing Powerlevel9k config parameters directly, so switching over doesn't mean rewriting your setup.
- ✓Show-on-command keeps segments like Kubernetes context out of the way until you actually type a relevant command.
- ✓Dozens of built-in segments plus a documented API for adding your own.
Powerlevel10k limitations and support status
- △The README mentions that the project has only minimal support, that no new features are planned, and that most bugs will remain unfixed.
- △Help requests are explicitly stated to be ignored, per the README.
- △It's a Shell-based theme, so it only styles the prompt -- it doesn't add plugins, completions, or other shell functionality.
- △Pure style doesn't recognize Pure's own `PURE_*` config variables; you have to rewrite those as `POWERLEVEL9K_*` equivalents in `~/.p10k.zsh`.
Powerlevel10k alternatives
Frequently asked questions
Powerlevel10k has very limited support: the README states no new features are in the works, most bugs go unfixed, and help requests are ignored, so treat it as feature-complete rather than actively developed.
Clone Powerlevel10k manually with `git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k`, then add `source ~/powerlevel10k/powerlevel10k.zsh-theme` to `~/.zshrc` and restart Zsh.
Powerlevel10k recommends installing the Meslo Nerd Font patched for Powerlevel10k; the README calls it optional but highly recommended, since some styles in the configuration wizard need it to display correctly.
Powerlevel10k reads existing `POWERLEVEL9K_*` configuration parameters directly, so migrating from Powerlevel9k mostly means installing Powerlevel10k and keeping your current config file as-is.
Powerlevel10k can reproduce the Pure prompt by selecting the Pure style in `p10k configure`, while still supporting instant prompt and transient prompt on top of it.
Instant prompt is enabled through `p10k configure`, or manually by editing the instant-prompt block in `~/.p10k.zsh`; once on, Powerlevel10k prints a prompt immediately at Zsh startup.
The problem it solves
Zsh prompts that show a lot of live information -- Git status, language versions, cloud context -- tend to either lag on every keystroke or print stale data that catches up a moment later. A related but separate pain: slow-loading Zsh plugins like pyenv or nvm can delay the very first prompt after opening a terminal. Powerlevel10k's README frames both as solved: prompt updates are instant, and Instant Prompt renders a prompt before slow plugins finish.
Best use cases
- •Zsh users who want Git branch/status, language versions, and cloud context visible at a glance without prompt lag.
- •Anyone switching from Powerlevel9k who wants the same config to keep working with a faster prompt.
- •Developers with slow-loading Zsh plugins (pyenv, nvm) who want instant prompt to hide startup lag.
- •Terminal users who like Pure's minimal look but still want instant/transient prompt features.
Who should try it — and who should skip
Reach for Powerlevel10k if you live in a terminal, want Git/runtime/cloud context visible without prompt lag, and are fine using a theme whose own README says it's basically in maintenance mode. Skip it if you need a maintainer who'll fix bugs or add features, or if you'd rather have a minimal prompt with close to zero configuration -- Pure or a stock Oh My Zsh theme is less to manage.
Related repositories
Still deciding about powerlevel10k?
One click hands the question to an AI along with this page — see what it says about powerlevel10k.
