-
Notifications
You must be signed in to change notification settings - Fork 5
Installation
Build tools: meson, ninja, wayland-scanner (part of wayland),
pkg-config.
Libraries:
| Package | Purpose |
|---|---|
cjson |
JSONC configuration parsing |
wayland, wayland-protocols
|
Wayland client protocol |
fcft, tllist
|
Font rendering |
pixman, cairo
|
2D drawing |
pango |
Text layout |
libpulse |
PulseAudio volume module |
systemd-libs |
sd-bus (tray DBus) |
gdk-pixbuf2 |
Tray icon decoding |
alsa-lib |
ALSA fallback for volume |
sudo pacman -S --needed meson ninja cjson wayland wayland-protocols \
fcft tllist pixman cairo pango libpulse systemd-libs gdk-pixbuf2 alsa-libsudo apt install meson ninja-build libcjson-dev libwayland-dev \
wayland-protocols libfcft-dev libpixman-1-dev libcairo2-dev \
libpango1.0-dev libpulse-dev libtllist-dev libsystemd-dev libgdk-pixbuf-2.0-dev \
libasound2-dev pkg-configgit clone https://github.com/mangowm/mangobar.git
cd mangobar
meson setup build -Dprefix=/usr
ninja -C build
sudo ninja -C build installIf meson.build changes after a git pull, ninja re-runs meson
automatically; install any newly added dependencies first.
Note:
pamixer/brightnessctlare only needed if your config's click/scroll actions call them.
Build the package locally with:
nix build .#mangobar
./result/bin/mangobarThe flake exports a Home Manager module. Add it to your flake inputs and enable the user service:
{
imports = [ inputs.mangobar.homeManagerModules.default ];
services.mangobar = {
enable = true;
systemdTarget = "mango.target";
};
}The service starts with graphical-session.target by default. Set
systemdTarget to your compositor's user target, such as mango.target.
Override services.mangobar.package to use a different mangobar derivation.
Set services.mangobar.settings to generate
~/.config/mangobar/config.jsonc from a Nix attribute set, or use
services.mangobar.configFile for an existing JSONC file. These options are
mutually exclusive. Changing either configuration restarts the service during
Home Manager activation; rebuilding the mangobar package does as well.
services.mangobar.settings = {
modules-left = [ "workspaces" "layout" "window" ];
modules-right = [ "cpu" "memory" "clock#time" ];
};Run mangobar inside a mangowm session. It reads configuration from:
$MANGOBAR_CONFIG~/.config/mangobar/config.jsonc
The CSS style file is read from $MANGOBAR_CSS first, then
~/.config/mangobar/style.css.