Customizing Your Prezto Prompt

How to personalize your command line with Prezto.

Posted on April 7, 2014 by Mike Buss

One of the most critical parts of having a streamlined command line experience is your prompt. Throughout a normal day, you’ll see your prompt thousands of times. Customizing it with relevant information can drastically improve your workflow.

Here’s a screenshot of the default Mac OS X bash prompt:

Boring Prompt

Here’s an example of a customized prompt:

Better Prompt

For the purpose of this post I’ll be focusing on the configuration framework I use: Prezto1. It’s easy to install using the instructions on the official repo.


Included Themes

Just by installing Prezto you’ll have 21 great themes. To give one of these themes a try, you can type:

prompt THEME_NAME

This will load the theme into your current session. If you’d like to load the theme for all future sessions, modify this line in your ~/.zpreztorc file:

zstyle ':prezto:module:prompt' theme 'THEME_NAME'

The Prezto repo doesn’t have a great showcase of their themes like the oh-my-zsh theme wiki, so here’s a rundown of all 21 Prezto themes:


User Themes

I’ve found a few high quality themes that haven’t made it to the official Prezto repo yet. Check them out below.

To install these themes, copy the prompt_THEME_setup file into your ~/.zprezto/modules/prompt/functions folder.

Note: For the powerline and paradox themes, you’ll need a Powerline-patched font.


Custom Themes

I’ve been toying with creating my own custom Prezto theme lately, but haven’t finished anything substantial. When I create something worth sharing, I’ll make another post.

If you’re thinking of creating your own theme, I would recommend checking out the source for the current themes in ~/.zprezto/modules/prompts.

Happy theming!


1. I talk more about choosing between the two most popular configuration frameworks, oh-my-zsh and Prezto, in my post A Beautifully Productive Terminal Experience.


Previous Post

Featured on Apple.com

What will your verse be?

Next Post

Lazy Initialization with Swift

How to use the new lazy attribute in Swift


About the Author

Mike Buss is a software engineer from Ohio who works primarily in the healthcare space. His work has been featured on Apple.com and helped hundreds of thousands of patients. In his spare time, he writes about software development and more.


Follow @michaeltbuss on Twitter as he continues to document his software development journey.