diff --git a/devices/binto/hardware-configuration.nix b/devices/binto/hardware-configuration.nix index 55d32cf9..4cf75f89 100644 --- a/devices/binto/hardware-configuration.nix +++ b/devices/binto/hardware-configuration.nix @@ -2,12 +2,25 @@ config, lib, modulesPath, + nixpkgs-nvidia-fix, pkgs, ... }: { nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; imports = [(modulesPath + "/installer/scan/not-detected.nix")]; + # FIXME: remove this once PR reaches unstable + nixpkgs.overlays = [ + (self: super: (let + patched-pkgs = import nixpkgs-nvidia-fix { + inherit (self) system; + config.allowUnfree = true; + }; + in { + linuxPackages_zen = patched-pkgs.linuxPackages_zen; + })) + ]; + boot = { kernelPackages = pkgs.linuxPackages_zen; kernelModules = ["kvm-amd"]; diff --git a/devices/binto/modules/nvidia.nix b/devices/binto/modules/nvidia.nix index 94b819e3..c3fa2030 100644 --- a/devices/binto/modules/nvidia.nix +++ b/devices/binto/modules/nvidia.nix @@ -28,8 +28,7 @@ # Experimental and only works on modern Nvidia GPUs (Turing or newer). powerManagement.finegrained = false; - # FIXME: https://github.com/NVIDIA/open-gpu-kernel-modules/pull/589 - open = false; + open = true; # Enable the Nvidia settings menu, # accessible via `nvidia-settings`. diff --git a/flake.lock b/flake.lock index d6ead998..5aadd90a 100644 --- a/flake.lock +++ b/flake.lock @@ -806,6 +806,22 @@ "type": "github" } }, + "nixpkgs-nvidia-fix": { + "locked": { + "lastModified": 1706975488, + "narHash": "sha256-arYN4yIKU1cN5sde1+hsRNrTsgEIsU+mrwT5N8jX+BQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "468a37e6ba01c45c91460580f345d48ecdb5a4db", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "468a37e6ba01c45c91460580f345d48ecdb5a4db", + "type": "github" + } + }, "nixpkgs-pacemaker": { "locked": { "lastModified": 1691894234, @@ -1230,6 +1246,7 @@ "nix-melt": "nix-melt", "nix-on-droid": "nix-on-droid", "nixpkgs": "nixpkgs_4", + "nixpkgs-nvidia-fix": "nixpkgs-nvidia-fix", "nixpkgs-wayland": "nixpkgs-wayland", "nms": "nms", "nur": "nur", diff --git a/flake.nix b/flake.nix index 4fa22196..aa4281f1 100644 --- a/flake.nix +++ b/flake.nix @@ -95,6 +95,14 @@ ref = "nixos-unstable"; }; + # FIXME: wait for this rev to reach unstable + nixpkgs-nvidia-fix = { + type = "github"; + owner = "NixOS"; + repo = "nixpkgs"; + rev = "468a37e6ba01c45c91460580f345d48ecdb5a4db"; + }; + home-manager = { type = "github"; owner = "nix-community";