As manjaro nowadays ships with the powerlevel10k powerline like statusline for zsh this tutorial will guide you through the correct steps to activate this feature. First, locate p10k:
❯ locate p10k ... /usr/share/zsh/p10k.zsh /usr/share/zsh-theme-powerlevel10k/config/p10k-classic.zsh /usr/share/zsh-theme-powerlevel10k/config/p10k-lean-8colors.zsh /usr/share/zsh-theme-powerlevel10k/config/p10k-lean.zsh /usr/share/zsh-theme-powerlevel10k/config/p10k-pure.zsh /usr/share/zsh-theme-powerlevel10k/config/p10k-rainbow.zsh /usr/share/zsh-theme-powerlevel10k/config/p10k-robbyrussell.zsh /usr/share/zsh-theme-powerlevel10k/internal/p10k.zsh /usr/share/zsh-theme-powerlevel10k/internal/p10k.zsh.zwc
> above is actually is a prompt indicator from p10k, not a
# prompt. .
❯ vim .zshrc
# --- # Use powerline USE_POWERLINE="true"
In short: yes and no. You might want to take a look at the first announcement here in this forum thread.
Also, you might want to dive in deeper. See the detour section below or use the force…
… But p10k, that’s not powerline…
Well, if you are only searching for zsh this would be it already. But, powerline is integrating more tools and seems to be under active development. The project seems to be “ancient” as you might note, as it started on GitHub in 2013 and might be older still. Still being maintained meaning: this is here to stay for the foreseeable future.
I actually use vim and tmux on a frequent basis, so why not continue then…
Well, first there are other implementations, namely 2 written in go and rust which also carry on the name. Both carry the same “powerline” prefix to be precise and at least one of the two is still active. So, before I stuck to powerline, a quick glance did happen. For both the goal obviously is responsiveness, keeping small footprints and usage of modern languages, as they come in (pre-) compiled binaries that should be easy to install via pamac. Quick info’s in the “Detour” secions below. Depending on your needs and preferences, they could both be worthy to try out.
❯ pamac install powerline
… or use the gui. You will end up with 3 packages from the community repository:
If you did not catch it until now: this is a python based project. As the project’s README clearly states:
But I hate Python / I don’t need shell prompts / this is just too much hassle for me / what happened to the original vim-powerline project / …
You might already stop reading and carry on.
Still there? OK.
As arch is a good reference, mostly my base configuration relies on that documentation.
❯ vim .vimrc
"--- "powerline "see https://wiki.archlinux.org/index.php/Powerline#Vim "let g:powerline_pycmd="py" set rtp+=/usr/share/powerline/bindings/vim set laststatus=2
That should do it. Vim should, after opening any file, show you this statusline as a
❯ vim .tmux.conf
#see https://wiki.archlinux.org/index.php/Powerline#Tmux source /usr/share/powerline/bindings/tmux/powerline.con
Remark: tmux inception on a Yakuake Terminal . Tmux powered by: powerline. zsh within powered by p10k.
now that I have it, why not use it for zsh as well?
❯ vim .zshrc
# --- ## Use powerline #USE_POWERLINE="true" # Source manjaro-zsh-configuration #if [[ -e /usr/share/zsh/manjaro-zsh-config ]]; then # source /usr/share/zsh/manjaro-zsh-config #fi ## Use manjaro zsh prompt #if [[ -e /usr/share/zsh/manjaro-zsh-prompt ]]; then # source /usr/share/zsh/manjaro-zsh-prompt #fi ## To customize prompt, run `p10k configure` or edit /usr/share/zsh/p10k.zsh. #[[ ! -f /usr/share/zsh/p10k.zsh ]] || source /usr/share/zsh/p10k.zsh # --- # Use "the genuine" powerline # See https://wiki.archlinux.org/index.php/Powerline#Zsh #prompt off powerline-daemon -q . /usr/share/powerline/bindings/zsh/powerline.zsh
Now, as I checked this configuration, i quickly realized the differences. At least in the “basic” configuration, the zsh prompt + powerlevel10k do really have more to offer than “vanilla powerline” configuration.
This is of course an unfair comparison, as this “manjaro crafted +p10k” zsh setup was developed and CI’d to start with and already adjusted to my personal preferences.
On the other hand the “vanilla powerline” configuration also does the job highlighting some information, at least initially missing some information and displaying things differently.
line 1, 4, 5: zsh session with “manjaro crafted +p10k” done once
line 2, 3: zsh session with “vanilla powerline”
powerline.readthedocs.io is the place to continue. I would also recommend information from other sources. With the basic info gathered here, you should be good to go.
To start with, also take a look at the detours I noted down.
Project p10k is already used in manjaro, simple to use and straight and to the point as far as I tested.
If you like config wizards you can start changing the look and feel of your powerlevel10k prompt directly with
❯ sudo p10k configure
This will, depending on your choices, give you options how your zsh prompt will look like. No screenshots here, go figure it out yourself .
The config wizard will finally after some questions and choices leave you with an updated config. You only just have to make sure your .zshrc contains some lines like these:
# Use powerline USE_POWERLINE="true" # Source manjaro-zsh-configuration if [[ -e /usr/share/zsh/manjaro-zsh-config ]]; then source /usr/share/zsh/manjaro-zsh-config fi # Use manjaro zsh prompt if [[ -e /usr/share/zsh/manjaro-zsh-prompt ]]; then source /usr/share/zsh/manjaro-zsh-prompt fi # To customize prompt, run `p10k configure` or edit /usr/share/zsh/p10k.zsh. [[ ! -f /usr/share/zsh/p10k.zsh ]] || source /usr/share/zsh/p10k.zsh
This one is obviously written in go and focuses on shell prompts, possibly even powershell on MS W10… Wich I won’t find out as this 1o1 is about manjaro only and I want to get other tools “enhanced” by powerline.
“alternative to powerline-shell”, “blazing fast” and so also out of focus for me as this will “only” enhance shell prompts… Also the project seems to lack behind (2021-04) in “still happening development”.
PS: Celebrating the 10th edit after creation
In addition to the base community packages, there are also 2 other optional packages you might want to use if you want to enhance the “powerline experience”:
Tags: powerline, p10k, tmux, vim, zsh