From 9447fcd603520a57b2845edd42fdd981303acf18 Mon Sep 17 00:00:00 2001 From: Mihai Fufezan Date: Wed, 1 Jun 2022 01:52:34 +0300 Subject: fix Nix build and add updater - move unnecessary toplevel files to nix/ - added patch that ignores the submodule (revert) - add update script run by a workflow --- .github/workflows/nix-update.yaml | 2 +- default.nix | 84 ----------------------- flake.lock | 6 +- flake.nix | 4 +- module.nix | 62 ----------------- nix/default.nix | 86 +++++++++++++++++++++++ nix/module.nix | 62 +++++++++++++++++ nix/update-inputs.sh | 13 ++++ nix/wlroots.patch | 139 ++++++++++++++++++++++++++++++++++++++ 9 files changed, 306 insertions(+), 152 deletions(-) delete mode 100644 default.nix delete mode 100644 module.nix create mode 100644 nix/default.nix create mode 100644 nix/module.nix create mode 100755 nix/update-inputs.sh create mode 100644 nix/wlroots.patch diff --git a/.github/workflows/nix-update.yaml b/.github/workflows/nix-update.yaml index 323b34a8..aa23d220 100644 --- a/.github/workflows/nix-update.yaml +++ b/.github/workflows/nix-update.yaml @@ -19,7 +19,7 @@ jobs: auto-optimise-store = true experimental-features = nix-command flakes - name: Update lockfile - run: nix flake update + run: nix/update-inputs.sh - uses: stefanzweifel/git-auto-commit-action@v4 with: commit_message: "[gha] bump flake inputs" diff --git a/default.nix b/default.nix deleted file mode 100644 index cb0b7218..00000000 --- a/default.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - pkg-config, - cmake, - ninja, - libdrm, - libinput, - libxcb, - libxkbcommon, - mesa, - mount, - pango, - wayland, - wayland-protocols, - wayland-scanner, - wlroots, - xcbutilwm, - xwayland, - enableXWayland ? true, - version ? "git", -}: -stdenv.mkDerivation { - pname = "hyprland"; - inherit version; - src = ./.; - - nativeBuildInputs = [ - cmake - ninja - pkg-config - ]; - - buildInputs = - [ - libdrm - libinput - libxcb - libxkbcommon - mesa - pango - wayland - wayland-protocols - wayland-scanner - (wlroots.override {inherit enableXWayland;}) - xcbutilwm - ] - ++ lib.optional enableXWayland xwayland; - - cmakeFlags = - ["-DCMAKE_BUILD_TYPE=Release"] - ++ lib.optional (!enableXWayland) "-DNO_XWAYLAND=true"; - - prePatch = '' - make config - ''; - - postBuild = '' - pushd ../hyprctl - make all - popd - ''; - - installPhase = '' - pushd .. - install -Dm644 ./example/hyprland.desktop -t $out/share/wayland-sessions - install -Dm755 ./build/Hyprland -t $out/bin - install -Dm755 ./hyprctl/hyprctl -t $out/bin - install -Dm644 ./assets/* -t $out/share/hyprland - install -Dm644 ./example/hyprland.conf -t $out/share/hyprland - popd - ''; - - passthru.providedSessions = ["hyprland"]; - - meta = with lib; { - homepage = "https://github.com/vaxerski/Hyprland"; - description = "A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"; - license = licenses.bsd3; - platforms = platforms.linux; - mainProgram = "Hyprland"; - }; -} diff --git a/flake.lock b/flake.lock index aa72e787..fe160449 100644 --- a/flake.lock +++ b/flake.lock @@ -26,11 +26,11 @@ "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1654018490, - "narHash": "sha256-6c/2lVXpr1qL/NAiaEwFO7kiTOMc6UJjYXtxDHifBwk=", + "lastModified": 1653658290, + "narHash": "sha256-zZaona39DOZNL93A1KG3zAi8vDttJBirxacq24hWCn4=", "owner": "wlroots", "repo": "wlroots", - "rev": "ec328ca8cc82f5cac657141e31a81a590759150d", + "rev": "75d31509db8c28e8379fe9570118ef8c82284581", "type": "gitlab" }, "original": { diff --git a/flake.nix b/flake.nix index c7e672e5..aee2abd6 100644 --- a/flake.nix +++ b/flake.nix @@ -36,7 +36,7 @@ version = mkVersion inputs.wlroots.lastModifiedDate; src = inputs.wlroots; }); - default = pkgsFor.${system}.callPackage ./default.nix { + default = pkgsFor.${system}.callPackage ./nix/default.nix { version = mkVersion self.lastModifiedDate; inherit (self.packages.${system}) wlroots; }; @@ -44,7 +44,7 @@ formatter = genSystems (system: pkgsFor.${system}.alejandra); - nixosModules.default = import ./module.nix self; + nixosModules.default = import ./nix/module.nix self; # Deprecated overlays.default = _: prev: { diff --git a/module.nix b/module.nix deleted file mode 100644 index a7460b34..00000000 --- a/module.nix +++ /dev/null @@ -1,62 +0,0 @@ -# Copied from https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/programs/sway.nix -self: { - config, - lib, - pkgs, - ... -}: -with lib; let - cfg = config.programs.hyprland; -in { - options.programs.hyprland = { - enable = mkEnableOption '' - Hyprland, the dynamic tiling Wayland compositor that doesn't sacrifice on its looks. - You can manually launch Hyprland by executing "exec Hyprland" on a TTY. - A configuration file will be generated in ~/.config/hypr/hyprland.conf. - See for - more information. - ''; - - package = mkOption { - type = types.package; - default = self.packages.${pkgs.system}.default; - defaultText = literalExpression ".packages..default"; - example = literalExpression ".packages..default.override { }"; - description = '' - Hyprland package to use. - ''; - }; - - extraPackages = mkOption { - type = with types; listOf package; - default = with pkgs; [ - kitty - wofi - swaybg - ]; - defaultText = literalExpression '' - with pkgs; [ kitty wofi swaybg ]; - ''; - example = literalExpression '' - with pkgs; [ - alacritty wofi - ] - ''; - description = '' - Extra packages to be installed system wide. - ''; - }; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [cfg.package] ++ cfg.extraPackages; - security.polkit.enable = true; - hardware.opengl.enable = mkDefault true; - fonts.enableDefaultFonts = mkDefault true; - programs.dconf.enable = mkDefault true; - services.xserver.displayManager.sessionPackages = [cfg.package]; - programs.xwayland.enable = mkDefault true; - xdg.portal.enable = mkDefault true; - xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-wlr]; - }; -} diff --git a/nix/default.nix b/nix/default.nix new file mode 100644 index 00000000..21f571bf --- /dev/null +++ b/nix/default.nix @@ -0,0 +1,86 @@ +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + ninja, + libdrm, + libinput, + libxcb, + libxkbcommon, + mesa, + mount, + pango, + wayland, + wayland-protocols, + wayland-scanner, + wlroots, + xcbutilwm, + xwayland, + enableXWayland ? true, + version ? "git", +}: +stdenv.mkDerivation { + pname = "hyprland"; + inherit version; + src = ../.; + + nativeBuildInputs = [ + cmake + ninja + pkg-config + ]; + + buildInputs = + [ + libdrm + libinput + libxcb + libxkbcommon + mesa + pango + wayland + wayland-protocols + wayland-scanner + (wlroots.override {inherit enableXWayland;}) + xcbutilwm + ] + ++ lib.optional enableXWayland xwayland; + + cmakeFlags = + ["-DCMAKE_BUILD_TYPE=Release"] + ++ lib.optional (!enableXWayland) "-DNO_XWAYLAND=true"; + + # enables building with nix-supplied wlroots instead of submodule + patches = [ ./wlroots.patch ]; + postPatch = '' + make config + ''; + + postBuild = '' + pushd ../hyprctl + make all + popd + ''; + + installPhase = '' + pushd .. + install -Dm644 ./example/hyprland.desktop -t $out/share/wayland-sessions + install -Dm755 ./build/Hyprland -t $out/bin + install -Dm755 ./hyprctl/hyprctl -t $out/bin + install -Dm644 ./assets/* -t $out/share/hyprland + install -Dm644 ./example/hyprland.conf -t $out/share/hyprland + popd + ''; + + passthru.providedSessions = ["hyprland"]; + + meta = with lib; { + homepage = "https://github.com/vaxerski/Hyprland"; + description = "A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"; + license = licenses.bsd3; + platforms = platforms.linux; + mainProgram = "Hyprland"; + }; +} diff --git a/nix/module.nix b/nix/module.nix new file mode 100644 index 00000000..a7460b34 --- /dev/null +++ b/nix/module.nix @@ -0,0 +1,62 @@ +# Copied from https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/programs/sway.nix +self: { + config, + lib, + pkgs, + ... +}: +with lib; let + cfg = config.programs.hyprland; +in { + options.programs.hyprland = { + enable = mkEnableOption '' + Hyprland, the dynamic tiling Wayland compositor that doesn't sacrifice on its looks. + You can manually launch Hyprland by executing "exec Hyprland" on a TTY. + A configuration file will be generated in ~/.config/hypr/hyprland.conf. + See for + more information. + ''; + + package = mkOption { + type = types.package; + default = self.packages.${pkgs.system}.default; + defaultText = literalExpression ".packages..default"; + example = literalExpression ".packages..default.override { }"; + description = '' + Hyprland package to use. + ''; + }; + + extraPackages = mkOption { + type = with types; listOf package; + default = with pkgs; [ + kitty + wofi + swaybg + ]; + defaultText = literalExpression '' + with pkgs; [ kitty wofi swaybg ]; + ''; + example = literalExpression '' + with pkgs; [ + alacritty wofi + ] + ''; + description = '' + Extra packages to be installed system wide. + ''; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [cfg.package] ++ cfg.extraPackages; + security.polkit.enable = true; + hardware.opengl.enable = mkDefault true; + fonts.enableDefaultFonts = mkDefault true; + programs.dconf.enable = mkDefault true; + services.xserver.displayManager.sessionPackages = [cfg.package]; + programs.xwayland.enable = mkDefault true; + xdg.portal.enable = mkDefault true; + xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-wlr]; + }; +} diff --git a/nix/update-inputs.sh b/nix/update-inputs.sh new file mode 100755 index 00000000..fd3c248b --- /dev/null +++ b/nix/update-inputs.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env -S nix shell nixpkgs#gawk nixpkgs#git nixpkgs#moreutils -c bash + +# get wlroots revision from submodule +rev=$(git submodule status | awk '{ print substr($1,2)}') + +# update nixpkgs to latest version +nix flake lock --update-input nixpkgs + +# update wlroots to submodule revision +nix flake lock --override-input wlroots "gitlab:wlroots/wlroots/$rev?host=gitlab.freedesktop.org" + +# remove "dirty" mark from lockfile +jq < flake.lock 'del(.nodes.wlroots.original.rev)' | sponge flake.lock diff --git a/nix/wlroots.patch b/nix/wlroots.patch new file mode 100644 index 00000000..f29a8422 --- /dev/null +++ b/nix/wlroots.patch @@ -0,0 +1,139 @@ +diff --git a/Makefile b/Makefile +index 55088a7..b185eb9 100644 +--- a/Makefile ++++ b/Makefile +@@ -89,7 +89,6 @@ clear: + rm -rf build + rm -f *.o *-protocol.h *-protocol.c + rm -f ./hyprctl/hyprctl +- rm -rf ./wlroots/build + + all: + make config +@@ -114,16 +113,4 @@ uninstall: + rm -f ${PREFIX}/bin/hyprctl + rm -rf ${PREFIX}/share/hyprland + +-protocols: xdg-shell-protocol.o wlr-layer-shell-unstable-v1-protocol.o wlr-screencopy-unstable-v1-protocol.o idle-protocol.o ext-workspace-unstable-v1-protocol.o pointer-constraints-unstable-v1-protocol.o +- +-config: +- make protocols +- +- sed -i -E 's/(soversion = 11)([^032]|$$)/soversion = 11032/g' ./wlroots/meson.build +- +- rm -rf ./wlroots/build +- +- cd wlroots && meson ./build --prefix=/usr --buildtype=release +- cd wlroots && ninja -C build/ +- +- cd wlroots && sudo ninja -C build/ install ++config: xdg-shell-protocol.o wlr-layer-shell-unstable-v1-protocol.o wlr-screencopy-unstable-v1-protocol.o idle-protocol.o ext-workspace-unstable-v1-protocol.o pointer-constraints-unstable-v1-protocol.o +diff --git a/src/includes.hpp b/src/includes.hpp +index 5c216b7..65f2d0f 100644 +--- a/src/includes.hpp ++++ b/src/includes.hpp +@@ -34,56 +34,56 @@ + #define static + + extern "C" { +-#include "../wlroots/include/wlr/backend.h" +-#include "../wlroots/include/wlr/backend/libinput.h" +-#include "../wlroots/include/wlr/render/allocator.h" +-#include "../wlroots/include/wlr/render/wlr_renderer.h" +-#include "../wlroots/include/wlr/types/wlr_compositor.h" +-#include "../wlroots/include/wlr/types/wlr_cursor.h" +-#include "../wlroots/include/wlr/types/wlr_data_control_v1.h" +-#include "../wlroots/include/wlr/types/wlr_data_device.h" +-#include "../wlroots/include/wlr/types/wlr_export_dmabuf_v1.h" +-#include "../wlroots/include/wlr/types/wlr_linux_dmabuf_v1.h" +-#include "../wlroots/include/wlr/types/wlr_gamma_control_v1.h" +-#include "../wlroots/include/wlr/types/wlr_idle.h" +-#include "../wlroots/include/wlr/types/wlr_input_device.h" +-#include "../wlroots/include/wlr/types/wlr_keyboard.h" +-#include "../wlroots/include/wlr/types/wlr_layer_shell_v1.h" +-#include "../wlroots/include/wlr/types/wlr_matrix.h" +-#include "../wlroots/include/wlr/types/wlr_output.h" +-#include "../wlroots/include/wlr/types/wlr_output_layout.h" +-#include "../wlroots/include/wlr/types/wlr_output_management_v1.h" +-#include "../wlroots/include/wlr/types/wlr_pointer.h" +-#include "../wlroots/include/wlr/types/wlr_presentation_time.h" +-#include "../wlroots/include/wlr/types/wlr_primary_selection.h" +-#include "../wlroots/include/wlr/types/wlr_primary_selection_v1.h" +-#include "../wlroots/include/wlr/types/wlr_screencopy_v1.h" +-#include "../wlroots/include/wlr/types/wlr_seat.h" +-#include "../wlroots/include/wlr/types/wlr_server_decoration.h" +-#include "../wlroots/include/wlr/types/wlr_viewporter.h" +-#include "../wlroots/include/wlr/types/wlr_virtual_keyboard_v1.h" +-#include "../wlroots/include/wlr/types/wlr_xcursor_manager.h" +-#include "../wlroots/include/wlr/types/wlr_xdg_activation_v1.h" +-#include "../wlroots/include/wlr/types/wlr_xdg_decoration_v1.h" +-#include "../wlroots/include/wlr/types/wlr_xdg_output_v1.h" +-#include "../wlroots/include/wlr/types/wlr_xdg_shell.h" +-#include "../wlroots/include/wlr/types/wlr_subcompositor.h" +-#include "../wlroots/include/wlr/types/wlr_scene.h" +-#include "../wlroots/include/wlr/types/wlr_output_damage.h" +-#include "../wlroots/include/wlr/types/wlr_input_inhibitor.h" +-#include "../wlroots/include/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h" +-#include "../wlroots/include/wlr/types/wlr_virtual_pointer_v1.h" +-#include "../wlroots/include/wlr/types/wlr_foreign_toplevel_management_v1.h" +-#include "../wlroots/include/wlr/util/log.h" +-#include "../wlroots/include/wlr/xwayland.h" +-#include "../wlroots/include/wlr/util/region.h" ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + #include + #include +-#include "../wlroots/include/wlr/render/egl.h" +-#include "../wlroots/include/wlr/render/gles2.h" +-#include "../wlroots/include/wlr/render/wlr_texture.h" +-#include "../wlroots/include/wlr/types/wlr_pointer_constraints_v1.h" +-#include "../wlroots/include/wlr/types/wlr_relative_pointer_v1.h" ++#include ++#include ++#include ++#include ++#include + } + + #undef class -- cgit v1.2.3 From 6daa866beb4d1e26a8b2579a596e669831f7a94f Mon Sep 17 00:00:00 2001 From: Mihai Fufezan Date: Thu, 2 Jun 2022 00:08:03 +0300 Subject: nix/updater: only update wlroots on rev change --- nix/update-inputs.sh | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/nix/update-inputs.sh b/nix/update-inputs.sh index fd3c248b..d0418d65 100755 --- a/nix/update-inputs.sh +++ b/nix/update-inputs.sh @@ -1,13 +1,19 @@ -#!/usr/bin/env -S nix shell nixpkgs#gawk nixpkgs#git nixpkgs#moreutils -c bash - -# get wlroots revision from submodule -rev=$(git submodule status | awk '{ print substr($1,2)}') +#!/usr/bin/env -S nix shell nixpkgs#gawk nixpkgs#git nixpkgs#moreutils nixpkgs#jq -c bash # update nixpkgs to latest version nix flake lock --update-input nixpkgs -# update wlroots to submodule revision -nix flake lock --override-input wlroots "gitlab:wlroots/wlroots/$rev?host=gitlab.freedesktop.org" +# get wlroots revision from submodule +SUB_REV=$(git submodule status | awk '{ print substr($1,2)}') +# and from lockfile +CRT_REV=$(jq < flake.lock '.nodes.wlroots.locked.rev' -r) + +if [ $SUB_REV != $CRT_REV ]; then + # update wlroots to submodule revision + nix flake lock --override-input wlroots "gitlab:wlroots/wlroots/$SUB_REV?host=gitlab.freedesktop.org" -# remove "dirty" mark from lockfile -jq < flake.lock 'del(.nodes.wlroots.original.rev)' | sponge flake.lock + # remove "dirty" mark from lockfile + jq < flake.lock 'del(.nodes.wlroots.original.rev)' | sponge flake.lock +else + echo "wlroots is up to date!" +fi -- cgit v1.2.3 From 7451890fd71bd8e5a0abe4c22e3d7d6e1b0b2fce Mon Sep 17 00:00:00 2001 From: Mihai Fufezan Date: Thu, 2 Jun 2022 00:42:05 +0300 Subject: nix: replace paths dynamically --- .github/workflows/nix-update.yaml | 5 +- nix/default.nix | 6 +- nix/update-inputs.sh | 6 +- nix/wlroots.patch | 139 -------------------------------------- 4 files changed, 8 insertions(+), 148 deletions(-) delete mode 100644 nix/wlroots.patch diff --git a/.github/workflows/nix-update.yaml b/.github/workflows/nix-update.yaml index aa23d220..91a5c686 100644 --- a/.github/workflows/nix-update.yaml +++ b/.github/workflows/nix-update.yaml @@ -1,9 +1,6 @@ name: "Nix: update lockfile" -on: - schedule: - - cron: '0 0 */14 * *' - workflow_dispatch: +on: [push, workflow_dispatch] jobs: update: diff --git a/nix/default.nix b/nix/default.nix index 21f571bf..20586b9f 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -53,9 +53,11 @@ stdenv.mkDerivation { ++ lib.optional (!enableXWayland) "-DNO_XWAYLAND=true"; # enables building with nix-supplied wlroots instead of submodule - patches = [ ./wlroots.patch ]; + prePatch = '' + sed -Ei 's/"\.\.\/wlroots\/include\/([a-zA-Z0-9./_-]+)"/<\1>/g' src/includes.hpp + ''; postPatch = '' - make config + make protocols ''; postBuild = '' diff --git a/nix/update-inputs.sh b/nix/update-inputs.sh index d0418d65..8c238222 100755 --- a/nix/update-inputs.sh +++ b/nix/update-inputs.sh @@ -1,14 +1,14 @@ #!/usr/bin/env -S nix shell nixpkgs#gawk nixpkgs#git nixpkgs#moreutils nixpkgs#jq -c bash -# update nixpkgs to latest version -nix flake lock --update-input nixpkgs - # get wlroots revision from submodule SUB_REV=$(git submodule status | awk '{ print substr($1,2)}') # and from lockfile CRT_REV=$(jq < flake.lock '.nodes.wlroots.locked.rev' -r) if [ $SUB_REV != $CRT_REV ]; then + # update nixpkgs to latest version + nix flake lock --update-input nixpkgs + # update wlroots to submodule revision nix flake lock --override-input wlroots "gitlab:wlroots/wlroots/$SUB_REV?host=gitlab.freedesktop.org" diff --git a/nix/wlroots.patch b/nix/wlroots.patch deleted file mode 100644 index f29a8422..00000000 --- a/nix/wlroots.patch +++ /dev/null @@ -1,139 +0,0 @@ -diff --git a/Makefile b/Makefile -index 55088a7..b185eb9 100644 ---- a/Makefile -+++ b/Makefile -@@ -89,7 +89,6 @@ clear: - rm -rf build - rm -f *.o *-protocol.h *-protocol.c - rm -f ./hyprctl/hyprctl -- rm -rf ./wlroots/build - - all: - make config -@@ -114,16 +113,4 @@ uninstall: - rm -f ${PREFIX}/bin/hyprctl - rm -rf ${PREFIX}/share/hyprland - --protocols: xdg-shell-protocol.o wlr-layer-shell-unstable-v1-protocol.o wlr-screencopy-unstable-v1-protocol.o idle-protocol.o ext-workspace-unstable-v1-protocol.o pointer-constraints-unstable-v1-protocol.o -- --config: -- make protocols -- -- sed -i -E 's/(soversion = 11)([^032]|$$)/soversion = 11032/g' ./wlroots/meson.build -- -- rm -rf ./wlroots/build -- -- cd wlroots && meson ./build --prefix=/usr --buildtype=release -- cd wlroots && ninja -C build/ -- -- cd wlroots && sudo ninja -C build/ install -+config: xdg-shell-protocol.o wlr-layer-shell-unstable-v1-protocol.o wlr-screencopy-unstable-v1-protocol.o idle-protocol.o ext-workspace-unstable-v1-protocol.o pointer-constraints-unstable-v1-protocol.o -diff --git a/src/includes.hpp b/src/includes.hpp -index 5c216b7..65f2d0f 100644 ---- a/src/includes.hpp -+++ b/src/includes.hpp -@@ -34,56 +34,56 @@ - #define static - - extern "C" { --#include "../wlroots/include/wlr/backend.h" --#include "../wlroots/include/wlr/backend/libinput.h" --#include "../wlroots/include/wlr/render/allocator.h" --#include "../wlroots/include/wlr/render/wlr_renderer.h" --#include "../wlroots/include/wlr/types/wlr_compositor.h" --#include "../wlroots/include/wlr/types/wlr_cursor.h" --#include "../wlroots/include/wlr/types/wlr_data_control_v1.h" --#include "../wlroots/include/wlr/types/wlr_data_device.h" --#include "../wlroots/include/wlr/types/wlr_export_dmabuf_v1.h" --#include "../wlroots/include/wlr/types/wlr_linux_dmabuf_v1.h" --#include "../wlroots/include/wlr/types/wlr_gamma_control_v1.h" --#include "../wlroots/include/wlr/types/wlr_idle.h" --#include "../wlroots/include/wlr/types/wlr_input_device.h" --#include "../wlroots/include/wlr/types/wlr_keyboard.h" --#include "../wlroots/include/wlr/types/wlr_layer_shell_v1.h" --#include "../wlroots/include/wlr/types/wlr_matrix.h" --#include "../wlroots/include/wlr/types/wlr_output.h" --#include "../wlroots/include/wlr/types/wlr_output_layout.h" --#include "../wlroots/include/wlr/types/wlr_output_management_v1.h" --#include "../wlroots/include/wlr/types/wlr_pointer.h" --#include "../wlroots/include/wlr/types/wlr_presentation_time.h" --#include "../wlroots/include/wlr/types/wlr_primary_selection.h" --#include "../wlroots/include/wlr/types/wlr_primary_selection_v1.h" --#include "../wlroots/include/wlr/types/wlr_screencopy_v1.h" --#include "../wlroots/include/wlr/types/wlr_seat.h" --#include "../wlroots/include/wlr/types/wlr_server_decoration.h" --#include "../wlroots/include/wlr/types/wlr_viewporter.h" --#include "../wlroots/include/wlr/types/wlr_virtual_keyboard_v1.h" --#include "../wlroots/include/wlr/types/wlr_xcursor_manager.h" --#include "../wlroots/include/wlr/types/wlr_xdg_activation_v1.h" --#include "../wlroots/include/wlr/types/wlr_xdg_decoration_v1.h" --#include "../wlroots/include/wlr/types/wlr_xdg_output_v1.h" --#include "../wlroots/include/wlr/types/wlr_xdg_shell.h" --#include "../wlroots/include/wlr/types/wlr_subcompositor.h" --#include "../wlroots/include/wlr/types/wlr_scene.h" --#include "../wlroots/include/wlr/types/wlr_output_damage.h" --#include "../wlroots/include/wlr/types/wlr_input_inhibitor.h" --#include "../wlroots/include/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h" --#include "../wlroots/include/wlr/types/wlr_virtual_pointer_v1.h" --#include "../wlroots/include/wlr/types/wlr_foreign_toplevel_management_v1.h" --#include "../wlroots/include/wlr/util/log.h" --#include "../wlroots/include/wlr/xwayland.h" --#include "../wlroots/include/wlr/util/region.h" -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include - #include - #include --#include "../wlroots/include/wlr/render/egl.h" --#include "../wlroots/include/wlr/render/gles2.h" --#include "../wlroots/include/wlr/render/wlr_texture.h" --#include "../wlroots/include/wlr/types/wlr_pointer_constraints_v1.h" --#include "../wlroots/include/wlr/types/wlr_relative_pointer_v1.h" -+#include -+#include -+#include -+#include -+#include - } - - #undef class -- cgit v1.2.3