From d3a8d6de4cdd1550ff6b2200fb6c5d27589c03c5 Mon Sep 17 00:00:00 2001 From: "Alexander \"PapaTutuWawa" Date: Fri, 15 Jul 2022 12:50:15 +0200 Subject: [PATCH] gaming: Enable gamescope --- flake.nix | 3 +- modules/programs/gaming/default.nix | 3 +- packages/default.nix | 2 + packages/temp/gamescope.nix | 96 +++++++++++++++++++++++++++++ 4 files changed, 100 insertions(+), 4 deletions(-) create mode 100644 packages/temp/gamescope.nix diff --git a/flake.nix b/flake.nix index 7c65874..2ca5a96 100644 --- a/flake.nix +++ b/flake.nix @@ -56,8 +56,7 @@ ]; }; in { - # key-mapper only runs on linux - inherit (pkgs) key-mapper; + inherit (pkgs) gamescope; }; }); } diff --git a/modules/programs/gaming/default.nix b/modules/programs/gaming/default.nix index 3351798..4828196 100644 --- a/modules/programs/gaming/default.nix +++ b/modules/programs/gaming/default.nix @@ -22,8 +22,7 @@ in { steam-wrapped # Custom package - # Broken - # gamescope + gamescope corectrl ]; diff --git a/packages/default.nix b/packages/default.nix index 2e229f3..ec6df6f 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -88,4 +88,6 @@ in { }; sddm-sugar-dark = prev.callPackage themes/sddm/sugar-dark {}; + + gamescope = prev.callPackage temp/gamescope.nix {}; } diff --git a/packages/temp/gamescope.nix b/packages/temp/gamescope.nix new file mode 100644 index 0000000..df1da20 --- /dev/null +++ b/packages/temp/gamescope.nix @@ -0,0 +1,96 @@ +# From https://github.com/Jovian-Experiments/Jovian-NixOS/blob/d27526e7917671ad3a64f823f4b95b761f96807d/pkgs/gamescope/default.nix +{ stdenv +, fetchFromGitHub + +, meson +, pkg-config +, cmake +, ninja + +, xorg +, libdrm +, vulkan-loader +, wayland +, wayland-protocols +, libxkbcommon +, libcap +, SDL2 +, pipewire +, mesa +, udev +, pixman +, libinput +, libseat +, xwayland +, glslang + +, stb +, wlroots +, libliftoff +}: + +let +in +stdenv.mkDerivation { + pname = "gamescope"; + version = "3.11.28-beta4"; + src = fetchFromGitHub { + owner = "Plagman"; + repo = "gamescope"; + rev = "refs/tags/3.11.28-beta4"; + hash = "sha256-3L3bQIPPfScvtN1dduh10dQu/AuTmD4dHNp3JjBIBLA="; + }; + + buildInputs = [ + xorg.libX11 + xorg.libXdamage + xorg.libXcomposite + xorg.libXrender + xorg.libXext + xorg.libXxf86vm + xorg.libXtst + xorg.libXres + libdrm + vulkan-loader + wayland + wayland-protocols + libxkbcommon + libcap + SDL2 + pipewire + mesa + udev + pixman + libinput + libseat + xwayland + xorg.xcbutilwm + xorg.xcbutilerrors + glslang + xorg.libXi + ]; + + prePatch = '' + echo ":: Copying stb" + cp -vr "${stb.src}" subprojects/stb + chmod -R +w subprojects/stb + cp "subprojects/packagefiles/stb/meson.build" "subprojects/stb/" + echo ":: Copying wlroots" + rmdir subprojects/wlroots + cp -vr "${wlroots.src}" subprojects/wlroots + chmod -R +w subprojects/wlroots + echo ":: Copying libliftoff" + rmdir subprojects/libliftoff + cp -vr "${libliftoff.src}" subprojects/libliftoff + chmod -R +w subprojects/libliftoff + ''; + + nativeBuildInputs = [ + cmake + meson + pkg-config + ninja + ]; + + dontUseCmakeConfigure = true; +}