Powerline supports Plan9 rc reimplementation by Byron Rakitzis packaged by
many *nix distributions. To use it add

. {repository_root}/powerline/bindings/rc/powerline.rc

({repository_root} is the absolute path to the Powerline installation
directory, see repository root) to rcrc file
(usually ~/.rcrc) and make sure rc is started as a login shell (with
-l argument): otherwise this configuration file is not read.

Warning

Original Plan9 shell and its *nix port are not supported because they are
missing prompt special function (it is being called once before each
non-continuation prompt). Since powerline could not support shell without
this or equivalent feature some other not-so-critical features of that port
were used.

Dash users that already have $ENV defined should either put the .…/shell/powerline.sh line in the $ENV file or create a new file which
will source (using . command) both former $ENV file and
powerline.sh files and set $ENV to the path of this new file.

Warning

Mksh users have to set $POWERLINE_SHELL_CONTINUATION and
$POWERLINE_SHELL_SELECT to 1 to get PS2 and PS3 (continuation and
select) prompts support respectively: as command substitution is not
performed in these shells for these prompts they are updated once each time
PS1 prompt is displayed which may be slow.

It is also known that while PS2 and PS3 update is triggered at PS1 update it
is actually performed only next time PS1 is displayed which means that
PS2 and PS3 prompts will be outdated and may be incorrect for this reason.

Without these variables PS2 and PS3 prompts will be set once at startup.
This only touches mksh users: busybox and dash both have no such problem.

Warning

Job count is using some weird hack that uses signals and temporary files for
interprocess communication. It may be wrong sometimes. Not the case in mksh.

Warning

Busybox has two shells: ash and hush. Second is known to segfault in
busybox 1.22.1 when using powerline.sh script.