mirror of
https://github.com/hyprwm/xdg-desktop-portal-hyprland.git
synced 2024-12-25 10:59:48 +01:00
A read-only mirror of https://github.com/hyprwm/xdg-desktop-portal-hyprland
|
||
---|---|---|
.builds | ||
.github/workflows | ||
contrib | ||
hyprland-share-picker | ||
nix | ||
protocols | ||
src | ||
subprojects | ||
.clang-format | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
flake.lock | ||
flake.nix | ||
hyprland.portal | ||
LICENSE | ||
meson.build | ||
meson_options.txt | ||
org.freedesktop.impl.portal.desktop.hyprland.service.in | ||
README.md | ||
VERSION |
xdg-desktop-portal-hyprland
An XDG Desktop Portal backend for Hyprland.
Installing
First, make sure to install the required dependencies:
gbm
hyprland-protocols
hyprlang
hyprutils
hyprwayland-scanner
libdrm
libpipewire-0.3
libspa-0.2
sdbus-cpp
wayland-client
wayland-protocols
Then run the build and install command:
git clone --recursive https://github.com/hyprwm/xdg-desktop-portal-hyprland
cd xdg-desktop-portal-hyprland/
cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build
cmake --build build
sudo cmake --install build
Nix
Caution
XDPH should not be used from this flake directly!
Instead, use it from the Hyprland flake.
There are two reasons for the above:
- Hyprland depends on XDPH, but XDPH also depends on Hyprland. This results in a cyclic dependency, which is a nightmare. To counter this, we use the Nixpkgs Hyprland package in this flake, so that it can be later consumed by the Hyprland flake while overriding the Hyprland package.
- Even if you manually do all the overriding, you may still get it wrong and lose out on the Cachix cache (which has XDPH as exposed by the Hyprland flake).