Skip to content

Instantly share code, notes, and snippets.

@danielfullmer
Created December 12, 2023 22:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danielfullmer/25d2728a13405dddd7b3995641d37bb5 to your computer and use it in GitHub Desktop.
Save danielfullmer/25d2728a13405dddd7b3995641d37bb5 to your computer and use it in GitHub Desktop.
diff --git a/machines/bellman/configuration.nix b/machines/bellman/configuration.nix
index 55a6934..869e68e 100644
--- a/machines/bellman/configuration.nix
+++ b/machines/bellman/configuration.nix
@@ -432,4 +437,93 @@
programs.xwayland.enable = true;
programs.sway.enable = true;
+
+ # Working as of 2023-12-12
+ nixpkgs.overlays = [
+ (final: prev: let
+ # https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/967
+ xwayland = (prev.xwayland.override (_: {
+ #inherit wayland-protocols;
+ #inherit (xorg) xorgproto;
+ #mesa = prev.mesa.override {
+ # inherit wayland-protocols xorg;
+ #};
+ })).overrideAttrs ({ patches ? [], buildInputs ? [], ... }: {
+ src = final.fetchFromGitLab {
+ domain = "gitlab.freedesktop.org";
+ owner = "ekurzinger";
+ repo = "xserver";
+ rev = "2e999b2dbcd18cfd34f720ee2241ce6995b12376";
+ hash = "sha256-NJh3EzUfr6UWnS2XbKSbER7GlV6fRPXzcKr6yFwJKis=";
+ };
+ buildInputs = buildInputs ++ [ final.udev final.xorg.libpciaccess ];
+ });
+
+ # https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/90
+ wayland-protocols = prev.wayland-protocols.overrideAttrs ({ ... }: {
+ src = final.fetchFromGitLab {
+ domain = "gitlab.freedesktop.org";
+ owner = "emersion";
+ repo = "wayland-protocols";
+ #rev = "dd5f95cf2951d46c3189a8a9612b4f6cbc51ed0e";
+ rev = "c3457d52718738bc9bf5464ba32a77e62fd8ad81";
+ hash = "sha256-C9ndnyw191kmTS3jPJccQL1t3lDjzTntzlz2Av1hkcw=";
+ };
+ });
+
+ # https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/59
+ xorg = prev.xorg.overrideScope (xfinal: xprev: {
+ xorgproto = xprev.xorgproto.overrideAttrs ({ ... }: {
+ src = final.fetchFromGitLab {
+ domain = "gitlab.freedesktop.org";
+ owner = "ekurzinger";
+ repo = "xorgproto";
+ rev = "08c729e70b565508f36ad0df086b13b8bb6b0813";
+ hash = "sha256-eIUVSt49nNTDtG3LTtqRAotdYrdjSI8A/TFNLlThiI4=";
+ };
+ });
+ });
+
+ gamescope = (prev.gamescope.override (_: {
+ wlroots = prev.wlroots.overrideAttrs ({ buildInputs, nativeBuildInputs, ... }: {
+ src = final.fetchFromGitLab {
+ domain = "gitlab.freedesktop.org";
+ owner = "wlroots";
+ repo = "wlroots";
+ rev = "0.17.0";
+ hash = "sha256-VUrnSG4UAAH0cBy15lG0w8RernwegD6lkOdLvWU3a4c=";
+ };
+ buildInputs = buildInputs ++ (with final; [ hwdata ]);
+ nativeBuildInputs = nativeBuildInputs ++ (with final; [ libdisplay-info ]);
+ });
+ })).overrideAttrs (_: {
+ src = final.fetchFromGitHub {
+ repo = "gamescope";
+ owner = "emersion";
+ rev = "a00bef31f290a90d973b0ec097b4e792bc73acab";
+ hash = "sha256-zi8wtiiFJ89OD8nLkKJKF9pQCSVJC02dRSjqMO0zM40=";
+ fetchSubmodules = true;
+ };
+ });
+ in {
+ inherit xwayland wayland-protocols xorg;
+ inherit gamescope;
+
+ # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709
+ #mesa = (prev.mesa.override (_: {
+ # vulkanDrivers = [ "auto" ];
+ #})).overrideAttrs ({ ... }: {
+ # src = final.fetchFromGitLab {
+ # domain = "gitlab.freedesktop.org";
+ # owner = "JoshuaAshton";
+ # repo = "mesa";
+ # rev = "b52a640b0bba2f1a36c09c9008fb89ff703e7555";
+ # hash = "sha256-AHCDTcxsZhAEJ531IBqJhJiqE6UJW/MbPmBK4aDWjeY=";
+ # };
+ # patches = [
+ # #(final.path + /pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch)
+ # ];
+ #});
+ })
+ ];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment