Installation
hyprpm
hyprpm is the primary non-Nix installation path.
hyprpm add https://github.com/sandwichfarm/hyprexpo
hyprpm enable hyprexpo
hyprpm reloadThe plugin repository is named hyprexpo in hyprpm.toml, and the built output is hyprexpo.so.
Build From Source
Build dependencies are a C++23 compiler, pkg-config, Hyprland development headers, and these pkg-config packages:
hyprland pixman-1 libdrm pangocairo libinput libudev wayland-server xkbcommon lua5.4Build with the Makefile:
git clone https://github.com/sandwichfarm/hyprexpo
cd hyprexpo
make allAlternative build entry points are available:
meson setup build
meson compile -C buildcmake -S . -B build
cmake --build buildInstall a Local Build
Install the Makefile build over the hyprpm-managed copy:
make install
hyprpm reloadEquivalent manual install:
install -Dm755 hyprexpo.so \
/var/cache/hyprpm/$USER/hyprexpo/hyprexpo.so
hyprpm reloadWARNING
Use install, not plain cp, when replacing a loaded .so. Hyprland maps the plugin into the running process. Overwriting that file in place can corrupt the live mapping and crash the session.
Nix
Nix users should build HyprExpo through the Nix Hyprland plugin path instead of mixing a hyprpm artifact into a Nix-managed Hyprland session. The repository contains default.nix, which uses hyprlandPlugins.mkHyprlandPlugin so the plugin follows the Hyprland input supplied by the caller.
Hyprland plugins are ABI-sensitive. Keep the plugin build and running Hyprland revision aligned. If Hyprland is updated, rebuild HyprExpo from the same Hyprland input before loading it.