{ config, pkgs, lib, ... }: { nixpkgs.overlays = [ (final: prev: let patches-src = pkgs.fetchFromGitHub { owner = "BoyOrigin"; repo = "glfw-wayland"; rev = "2024-03-07"; hash = "sha256-kvWP34rOD4HSTvnKb33nvVquTGZoqP8/l+8XQ0h3b7Y="; }; patch' = p: "${patches-src}/patches/${p}.patch"; in { glfw3-minecraft = prev.glfw3-minecraft.overrideAttrs (old: { patches = [ (builtins.head old.patches) ] ++ [ (patch' "0001-Key-Modifiers-Fix") (patch' "0002-Fix-duplicate-pointer-scroll-events") (patch' "0003-Implement-glfwSetCursorPosWayland") (patch' "0004-Fix-Window-size-on-unset-fullscreen") (patch' "0005-Avoid-error-on-startup") ]; }); }) ]; # Wayland support hardware = { graphics.enable = true; graphics.enable32Bit = true; nvidia = { modesetting.enable = true; powerManagement.enable = false; powerManagement.finegrained = false; nvidiaSettings = true; open = false; package = config.boot.kernelPackages.nvidiaPackages.beta; #package = let # rcu_patch = pkgs.fetchpatch { # url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch"; # hash = "sha256-eZiQQp2S/asE7MfGvfe6dA/kdCvek9SYa/FFGp24dVg="; # }; #in config.boot.kernelPackages.nvidiaPackages.mkDriver { # version = "535.154.05"; # sha256_64bit = "sha256-fpUGXKprgt6SYRDxSCemGXLrEsIA6GOinp+0eGbqqJg="; # sha256_aarch64 = "sha256-G0/GiObf/BZMkzzET8HQjdIcvCSqB1uhsinro2HLK9k="; # openSha256 = "sha256-wvRdHguGLxS0mR06P5Qi++pDJBCF8pJ8hr4T8O6TJIo="; # settingsSha256 = "sha256-9wqoDEWY4I7weWW05F4igj1Gj9wjHsREFMztfEmqm10="; # persistencedSha256 = "sha256-d0Q3Lk80JqkS1B54Mahu2yY/WocOqFFbZVBh+ToGhaE="; # patches = [ rcu_patch ]; #}; }; }; programs.xwayland.enable = true; environment.systemPackages = with pkgs; [ ]; }