A fast and easy to use tool for creating status bars

Polybar aims to help users build beautiful and highly customizable status bars for their desktop environment, without the need of having a black belt in shell scripting.

Tue Jul 10, 4:45 pm
Sigur Rós - Varúð
4:45 pm
[ 25% ] [ 350 GB ]
This is Polybar
[ En ] [ Tue Jul 10 ]

The main purpose of Polybar is to help users create awesome status bars.
It has built-in functionality to display information about the most commonly used services.

Some of the features included so far:

Where can you get it?

Polybar has already been packaged for the distributions listed below,
if you're unable to find yours, you will likely have to build it from source.

Debian can be installed using sudo apt install polybar. Newer releases of polybar are sometimes provided in the backports repository for stable users, you need to enable backports and then install using sudo apt -t buster-backports install polybar.
Ubuntu can be installed using sudo apt install polybar on 20.10 (Groovy Gorilla) or later.
Arch Linux can be installed using pacman -S polybar or you can install the polybar-git package from the AUR to get the latest unstable changes.
Fedora you can install polybar using sudo dnf install polybar
Void Linux can be installed using xbps-install -S polybar
NixOS available in both the stable and unstable channels and can be installed with the command nix-env -iA nixos.polybar
Slackware available in the SlackBuilds repository
openSUSE available in OBS repository, package is available both for openSUSE Leap 15 and Tumbleweed
FreeBSD can be installed using pkg install polybar, make sure you are using the latest package branch
Gentoo both release and git-master versions are available in the main repository
GNU Guix can be installed using guix install polybar
Source Mage GNU/Linux polybar spell is available in the test grimoire and can be installed via cast polybar
You can find full list of dependencies as well as build instructions here.

Configuration

Polybar's powerful yet simple DSL allows for extensive customization while remaining
relatively easy to write and understand.
Here is an example of a basic date/time module that will display current date and time in 1970-01-01 - 00:00 format, with an update interval of one second.

[module/datetime]
type = internal/date
interval = 1.0

date = "%Y-%m-%d%"
time = "%H:%M"

label = "%date% - %time%"
To learn more about configuring Polybar, take a look at our wiki.

Examples

These screenshots showcase a few of the countless ways Polybar can be set up in.