magicmace

March 6, 2026 · View on GitHub

Ideas and code taken from xero's zsh prompt and eriner's prompt.

What does it show?

  • Status segment:
    • Status code in error color when there was an error.
    • b when there are background jobs.
    • r when in a ranger spawned shell.
    • v when a python venv is activated.
  • The current working directory.
  • Git segment, only when you're in a git repo:
    • Current branch name, or commit short hash when in 'detached HEAD' state.
    • * when in a dirty working tree.
    • and/or when there are commits ahead and/or behind of remote, respectively.

Settings

This theme can be customized with the following environment variables. If the variable is not defined, the respective default value is used.

VariableDescriptionDefault value
COLOR_ROOTRoot-user mace colorred
COLOR_USERNon-root-user mace colorcyan
COLOR_NORMALNormal text colorwhite
COLOR_ERRORError text colorred

Advanced settings

You can customize how the current working directory is shown with the prompt-pwd module settings.

The git indicators can be customized by changing the following git-info module context formats:

Context nameDescriptionDefault format
branchBranch name%b
commitCommit short hash%c...
aheadAhead of remote
behindBehind remote
dirtyDirty state*

Use the following command to override a git-info context format:

zstyle ':zim:git-info:<context_name>' format '<new_format>'

For detailed information about these and other git-info settings, check the git-info documentation.

These advanced settings must be defined at the bottom of your ~/.zshrc, after the modules are initialized with source ${ZIM_HOME}/init.zsh, in order to override the theme defaults.

Requirements

Requires Zim Framework's prompt-pwd module to show the current working directory, and git-info to show git information.