Configuring powerline to show working Git branch
So the documentation for Powerline kind of sucks. I followed this pretty good article on getting started with it. First thing I noticed however is that the if
statement on the article doesn’t work if you don’t have powerline installed (which kind of defeats the purpose of having the if
statement there at all).
# if powerline is installed, then use it command -v powerline-daemon &>/dev/null if [ $? -eq 0 ]; then powerline-daemon -q POWERLINE_BASH_CONTINUATION=1 POWERLINE_BASH_SELECT=1 . /usr/share/powerline/bash/powerline.sh fi
Next up is the configuration. I primarily use my bash prompt as a way to indicate which branch I’m working in within a Git repository. You need to point at the default_leftonly
theme which is pretty easy to find when you web search for it. The issue is everything seems to just point you at the powerline docs, which aren’t the most clear.
First, start by creating a local configuration directory that will override the configuration for powerline for your user.
$ mkdir -p ~/.config/powerline
Then the next thing is to copy over the config.json
from the main powerline configuration directory where you can find the available color schemes and other shell, i3, vim, etc themes.
(Again, the documentation kind of sucks on where the root of these configurations live…)
On my Fedora 22 system they live in /etc/xdg/powerline/
. I then copy the config.json
from that directory to ~/.config/powerline
To get the Git branch stuff going, I modified the configuration file in the following way:
--- /etc/xdg/powerline/config.json 2015-02-18 18:56:51.000000000 -0500 +++ /home/lmadsen/.config/powerline/config.json 2015-09-09 17:11:43.937522571 -0400 @@ -18,7 +18,7 @@ }, "shell": { "colorscheme": "default", - "theme": "default", + "theme": "default_leftonly", "local_themes": { "continuation": "continuation", "select": "select"
To make it active you can run powerline-config --reload
. If you have any errors in your configuration (I actually ran into this when playing with the colorscheme setting and used “solorized” instead of “solarized”), you can check it with powerline-lint
.
An alternative ~/.config/powerline/config.json is:
{
"ext": {
"shell": {
"theme": "default_leftonly"
}
}
}
You can include only the option you want to override from the default config.
Russell Bryant (@russellbryant)
2015/09/10 at 9:31 pm