Update: This post is out-of-date.

Please head over to the newest post for Powerlevel9k, here.


Original post:
A few months ago, I published the first version of the Powerlevel9k Oh-My-Zsh theme. Shortly after its release, I made some significant improvements with the help of Tom Upton. More recently, a lot of great new features have been contributed by Dominik Ritter.

The theme is now much more mature and full-featured than it was when I first announced it, so I thought it was a good time to re-introduce it. So, say hello to the Powerlevel9k theme!

It now has a bunch of configuration options. Here is what it looks like with default settings:

The feature list is growing quickly. Here is some of what you'll find in the theme:

Useful VCS Information

powerlevel9k supports git and mercurial repository information through OMZ's VCS_INFO module. This means it is faster, more configurable, and more easily supports other VCSes compared to manually parsing the local git tree for information.

This is super useful when executing complex VCS manuevers. Here is an example of what the prompt looks like while doing a git merge:

Configurable 'Segments' and Prompts

Each different section in the prompt is a 'segment', and a segment can be assigned to either the left or right prompt. The theme comes with a bunch of segments you can choose from to construct a prompt with everything you want (and, obviously, good defaults if you don't want to bother with it).

As an example, here are some of the segments you can add to your prompt:

  • A conditional [email protected] segment, only shown when you need it
  • A status segment that shows return code and background jobs.
  • A history segment to show each command's shell history number
  • A segment to show the Ruby version environment.
  • A segment to display the AWS context

Double-Lined Prompt Option

You can now also easily configure some style options. By default, the theme is a single-lined prompt, but it provides an option to enable a double-lined version. Check it out:

Color Scheme Selection

The color scheme is also configurable. Here is the 'light' color scheme used with a Solarized Light terminal theming.

Future Development

There are a number of other features I hope to finish soon, including additional segments to choose from, more color schemes, and refining support for other VCSes (mostly bazaar and subversion).

If you want to give the theme a shot, make a request, or contribute a new feature, head over to the Powerlevel9k Github repository.