A minimal Hyprland status bar built with Quickshell, styled after the Gruvbox palette.
- Top bar (
shell.qml) — transparent floating panel anchored top - Clock — updates every second
- Volume — via
wpctl(PipeWire/WirePlumber) - Network — active connection name via
nmcli - Battery — reads
/sys/class/power_supply/BAT1/capacity - Workspaces — live Hyprland workspace indicator with smooth animated active pill
| File | Purpose |
|---|---|
shell.qml |
Main bar layout (left / center / right sections) |
Poller.qml |
Reusable component: runs a shell command every N ms, exposes .value |
Pill.qml |
Rounded pill widget (icon + label) |
Workspaces.qml |
Hyprland workspace dots |
- Quickshell
- Hyprland
wpctl(WirePlumber)nmcli(NetworkManager)- Font: JetBrainsMono Nerd Font Propo
git clone git@github.com:akbarahmedjonov/quickshell.git ~/.config/quickshellRun it:
qs -p ~/.config/quickshell/-
Add any metric by dropping another
Pollerintoshell.qml:Poller { id: uptime command: "uptime | awk '{print $1}'" interval: 2000 }
...and a matching
Pill { icon: "cpu:"; label: cpu.value; iconColor: "#fe8019"; } -
Colors live in each file's defaults (Gruvbox:
#282828,#ebdbb2,#8ec07c, ...) -
Battery path is hardcoded to
BAT1— change it inshell.qmlif yours differs.
MIT
