Find a file
Mihai Fufezan 400308fc4f
CI/Nix: add cache-nix-action
Use nixbuild/nix-quick-install-action which pairs well with
nix-community/cache-nix-action.

Should help with build times by reducing the number of packages needing
to be re-downloaded on each run.

Parameters are taken from https://github.com/nix-community/cache-nix-action
and may be tweaked later.
2025-06-20 01:35:04 +03:00
.builds builds: add gbm and libdrm to the build environment 2022-04-10 13:38:01 +02:00
.github/workflows CI/Nix: add cache-nix-action 2025-06-20 01:35:04 +03:00
contrib CMake: get rid of Makefile and Ninja (#154) 2024-01-04 16:20:11 +01:00
hyprland-share-picker picker: Properly set title and class (#341) 2025-06-16 22:41:47 +02:00
nix nix: use self as src (#339) 2025-06-09 13:55:40 +03:00
protocols core: Implement hyprland-toplevel-mapping-v1 protocol (#322) 2025-04-28 22:22:05 +02:00
src shared: include vector header (#335) 2025-05-25 22:26:31 +02:00
subprojects core: Implement hyprland-toplevel-mapping-v1 protocol (#322) 2025-04-28 22:22:05 +02:00
.clang-format Woo! Full rewrite, v1.0 release. (#78) 2023-09-06 20:36:48 +02:00
.editorconfig Add yml exception to editorconfig 2020-03-13 21:01:32 +01:00
.gitignore gitignore: reorder and label sections 2024-10-29 09:35:59 +02:00
.gitmodules Woo! Full rewrite, v1.0 release. (#78) 2023-09-06 20:36:48 +02:00
CMakeLists.txt core: Implement hyprland-toplevel-mapping-v1 protocol (#322) 2025-04-28 22:22:05 +02:00
CONTRIBUTING.md Fix link to trigger-screen-shot.py 2021-03-04 20:42:40 +01:00
flake.lock nix: use gcc15 (#338) 2025-06-05 21:29:06 +01:00
flake.nix flake.lock: update 2024-12-17 10:08:37 +02:00
hyprland.portal portal: Added back screenshot functionality (#127) 2023-11-05 01:00:51 +00:00
LICENSE Woo! Full rewrite, v1.0 release. (#78) 2023-09-06 20:36:48 +02:00
meson.build Meson: fix conf_data 2024-01-04 22:02:50 +02:00
meson_options.txt Woo! Full rewrite, v1.0 release. (#78) 2023-09-06 20:36:48 +02:00
org.freedesktop.impl.portal.desktop.hyprland.service.in CMake: get rid of Makefile and Ninja (#154) 2024-01-04 16:20:11 +01:00
README.md README: fix old wiki link 2024-10-23 10:08:19 +01:00
VERSION version: bump to 1.3.9 2024-12-19 00:48:58 +00:00

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:

  1. 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.
  2. 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).

Running, FAQs, etc.

See the Hyprland wiki