Skip to content

Installation

prankstr edited this page Mar 13, 2026 · 8 revisions

VibePanel runs on Wayland with Hyprland, Niri, Sway, MangoWC, DWL, miracle-wm and scroll.

It can run on other compositors as well but the Workspace and Window Title widgets will not function.

Runtime Dependencies

Distro Command
Arch sudo pacman -S gtk4 gtk4-layer-shell libpulse upower networkmanager bluez
Fedora sudo dnf install gtk4 gtk4-layer-shell pulseaudio-libs upower NetworkManager bluez
Ubuntu/Debian sudo apt install libgtk-4-1 libgtk4-layer-shell0 libpulse0 upower network-manager bluez

Optional: power-profiles-daemon for power profile switching in the battery popover.

Optional: iwd as an alternative to NetworkManager for Wi-Fi management (auto-detected at startup; NetworkManager preferred when both are present).

Optional: modemmanager for cellular/mobile network support in the network card.

Optional: cava for the audio visualizer in the media widget. Without it the visualizer is silently disabled.

Install

Arch Linux (AUR)

yay -S vibepanel-bin

Fedora (COPR)

sudo dnf copr enable prankstr/vibepanel
sudo dnf install vibepanel

Nix

# Try it
nix run github:prankstr/vibepanel

# Install
nix profile install github:prankstr/vibepanel

Other

Install runtime dependencies for your distro first.

Binary

curl -LO https://github.com/prankstr/vibepanel/releases/latest/download/vibepanel-x86_64-unknown-linux-gnu
install -Dm755 vibepanel-x86_64-unknown-linux-gnu ~/.local/bin/vibepanel

From Source

Build dependencies:

Distro Command
Arch sudo pacman -S base-devel rust gtk4 gtk4-layer-shell libpulse
Fedora sudo dnf install gcc rust cargo gtk4-devel gtk4-layer-shell-devel pulseaudio-libs-devel
Ubuntu/Debian sudo apt install build-essential rustc cargo libgtk-4-dev libgtk4-layer-shell-dev libpulse-dev pkg-config

Build:

git clone https://github.com/prankstr/vibepanel.git
cd vibepanel
cargo build --release
install -Dm755 target/release/vibepanel ~/.local/bin/vibepanel

Requires Rust 1.85+ and GTK4 4.12+.

Auto-start

Hyprland (~/.config/hypr/hyprland.conf):

exec-once = vibepanel

Niri (~/.config/niri/config.kdl):

spawn-at-startup "vibepanel"

MangoWC (~/.config/mango/config.conf):

exec-once = vibepanel

Sway (~/.config/sway/config):

exec vibepanel

Clone this wiki locally