Agnoster Theme for Bash
Switch branches/tags
Nothing to show
Clone or download
speedenator Merge pull request #8 from Kami-no/master
PROMPT_COMMAND var error
Latest commit 5c79b66 Oct 31, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore initial commit Jan 15, 2017
README.md fixed virtualenv prompt Oct 5, 2017
agnoster-bash-sshot.png Added screenshot Jan 15, 2017
agnoster-bash.theme.bash ln for agnoster-bash.theme.bash for use in bash-it Jan 17, 2017
agnoster.bash PROMPT_COMMAND var error Oct 19, 2017

README.md

agnoster-bash

Agnoster Theme for Bash

agnoster's Theme - https://gist.github.com/3712874 A Powerline-inspired theme for BASH

(Converted from ZSH theme by Kenny Root) https://gist.github.com/kruton/8345450

Updated & fixed by Hanish K H on oct-05-2017

UPDATE

Fixed the virtualenv prompt in bash

README

In order for this theme to render correctly, you will need a Powerline-patched font. I recommend: https://github.com/powerline/fonts.git

git clone https://github.com/powerline/fonts.git fonts
cd fonts
install.sh

In addition, I recommend the Solarized theme and, if you're using it on Mac OS X, iTerm 2 over Terminal.app - it has significantly better color fidelity.

Install:

I recommend the following:

cd $HOME
mkdir -p .bash/themes/agnoster-bash
git clone https://github.com/speedenator/agnoster-bash.git .bash/themes/agnoster-bash

then add the following to your .bashrc:

export THEME=$HOME/.bash/themes/agnoster-bash/agnoster.bash
if [[ -f $THEME ]]; then
    export DEFAULT_USER=`whoami`
    source $THEME
fi

Goals

The aim of this theme is to only show you relevant information. Like most prompts, it will only show git information when in a git working directory. However, it goes a step further: everything from the current user and hostname to whether the last call exited with an error to whether background jobs are running in this shell will all be displayed automatically when appropriate.

Generally speaking, this script has limited support for right prompts (ala powerlevel9k on zsh), but it's pretty problematic in Bash. The general pattern is to write out the right prompt, hit \r, then write the left. This is problematic for the following reasons:

  • Doesn't properly resize dynamically when you resize the terminal
  • Changes to the prompt (like clearing and re-typing, super common) deletes the prompt
  • Getting the right alignment via columns / tput cols is pretty problematic (and is a bug in this version)
  • Bash prompt escapes (like \h or \w) don't get interpolated

all in all, if you really, really want right-side prompts without a ton of work, recommend going to zsh for now. If you know how to fix this, would appreciate it!

ScreenShot