mirror of
https://github.com/icewind1991/nvidia-patch-nixos.git
synced 2026-06-03 19:14:06 +02:00
initial version
This commit is contained in:
commit
4cb018c16d
7 changed files with 184 additions and 0 deletions
46
flake.nix
Normal file
46
flake.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
inputs = {
|
||||
utils.url = "github:numtide/flake-utils";
|
||||
nixpkgs.url = "nixpkgs/release-22.05";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
utils,
|
||||
}:
|
||||
utils.lib.eachDefaultSystem (system: let
|
||||
pkgs = (import nixpkgs) {
|
||||
inherit system;
|
||||
};
|
||||
rev = "0fa9170";
|
||||
hash = "sha256-+BkDUfVqqYMAG62OarNPJiNfghvHpOhhMlS5H+SV1dQ=";
|
||||
in rec {
|
||||
# `nix develop`
|
||||
devShell = pkgs.mkShell {
|
||||
nativeBuildInputs = with pkgs; [jq patch];
|
||||
};
|
||||
|
||||
extract = pkgs.callPackage ./extract.nix {};
|
||||
createPatch = prefix: driverPackage: rev: hash: driverPackage.overrideAttrs ({
|
||||
version,
|
||||
preFixup ? "",
|
||||
...
|
||||
}: let
|
||||
inherit (nixpkgs.lib) importJSON traceVal;
|
||||
jsons = extract rev hash;
|
||||
patchList = importJSON "${jsons}/${prefix}patch-list.json";
|
||||
objectList = importJSON "${jsons}/${prefix}object-list.json";
|
||||
object = (traceVal objectList.${version});
|
||||
patch = (traceVal patchList.${version});
|
||||
in {
|
||||
preFixup =
|
||||
preFixup
|
||||
+ ''
|
||||
sed -i '${patch}' $out/lib/${object}.${version}
|
||||
'';
|
||||
});
|
||||
patchNvenc = createPatch "";
|
||||
patchFbc = createPatch "fbc-";
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue