diff --git a/flake.lock b/flake.lock index 7d62590..2ec373d 100644 --- a/flake.lock +++ b/flake.lock @@ -215,11 +215,11 @@ }, "unstablePkgs": { "locked": { - "lastModified": 1770197578, - "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", + "lastModified": 1771008912, + "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "rev": "a82ccc39b39b621151d6732718e3e250109076fa", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 11b450b..83c996a 100644 --- a/flake.nix +++ b/flake.nix @@ -2,8 +2,8 @@ description = "System flake"; inputs = { - unstablePkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; latestPkgs.url = "github:nixos/nixpkgs?ref=nixos-25.11"; + unstablePkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; home-manager = { url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "latestPkgs"; @@ -72,7 +72,6 @@ nur-latest = Inputs.nur-latest-pkgs.legacyPackages.${system}; nur-unstable = Inputs.nur-unstable-pkgs.legacyPackages.${system}; nur-klassy = Inputs.nur-klassy-version.legacyPackages.${system}; - nur = { latest = nur-latest; unstable = nur-unstable; @@ -80,6 +79,7 @@ }; others = { zen-browser = Inputs.zen-browser; + # buildable-nvidia = Inputs.lastest-buildable-nvidia; }; pkgs-list = { inherit nix; diff --git a/system/hardware/nvidia.nix b/system/hardware/nvidia.nix index 1ce2244..dab3310 100644 --- a/system/hardware/nvidia.nix +++ b/system/hardware/nvidia.nix @@ -4,6 +4,9 @@ inputs, ... } @ Inputs: let + repo = "nix"; + branch = "unstable"; + packages = Inputs.pkgs-list.${repo}.${branch}; in { options = { nvidia.enable = lib.mkEnableOption "Enable NVIDIA proprietary driver support."; @@ -16,7 +19,32 @@ in { enable = true; }; nvidia = { - package = config.boot.kernelPackages.nvidiaPackages.latest; + package = let + base = config.boot.kernelPackages.nvidiaPackages.mkDriver { + version = "590.48.01"; + sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok="; + openSha256 = "sha256-hECHfguzwduEfPo5pCDjWE/MjtRDhINVr4b1awFdP44="; + settingsSha256 = "sha256-4SfCWp3swUp+x+4cuIZ7SA5H7/NoizqgPJ6S9fm90fA="; + persistencedSha256 = ""; + }; + cachyos-nvidia-patch = packages.fetchpatch { + url = "https://raw.githubusercontent.com/CachyOS/CachyOS-PKGBUILDS/master/nvidia/nvidia-utils/kernel-6.19.patch"; + sha256 = "sha256-YuJjSUXE6jYSuZySYGnWSNG5sfVei7vvxDcHx3K+IN4="; + }; + + # Patch the appropriate driver based on config.hardware.nvidia.open + driverAttr = + if config.hardware.nvidia.open + then "open" + else "bin"; + in + base + // { + ${driverAttr} = base.${driverAttr}.overrideAttrs (oldAttrs: { + patches = (oldAttrs.patches or []) ++ [cachyos-nvidia-patch]; + }); + }; + open = true; modesetting.enable = true; nvidiaSettings = true;