summary refs log tree commit diff
path: root/pkgs/os-specific/linux/nvidia-x11
diff options
context:
space:
mode:
authorDmitry Kalinkin <dmitry.kalinkin@gmail.com>2021-01-30 22:08:37 -0500
committerGitHub <noreply@github.com>2021-01-30 22:08:37 -0500
commit161b9b24365cff3c94f1c2d3eb5a5e13c722d04a (patch)
tree90632275e31c06dd389ab990795a64fca178504b /pkgs/os-specific/linux/nvidia-x11
parent638e784bda77159138c7057d426cf8a0870da98f (diff)
parent450cb04f16cc2214c2a298fe26bb4c306cf84fb3 (diff)
downloadnixpkgs-161b9b24365cff3c94f1c2d3eb5a5e13c722d04a.tar
nixpkgs-161b9b24365cff3c94f1c2d3eb5a5e13c722d04a.tar.gz
nixpkgs-161b9b24365cff3c94f1c2d3eb5a5e13c722d04a.tar.bz2
nixpkgs-161b9b24365cff3c94f1c2d3eb5a5e13c722d04a.tar.lz
nixpkgs-161b9b24365cff3c94f1c2d3eb5a5e13c722d04a.tar.xz
nixpkgs-161b9b24365cff3c94f1c2d3eb5a5e13c722d04a.tar.zst
nixpkgs-161b9b24365cff3c94f1c2d3eb5a5e13c722d04a.zip
Merge pull request #99323 from eadwu/nvidia/hardware.nvidia.package
nixos: hardware.nvidia.package option for selecting nvidia package
Diffstat (limited to 'pkgs/os-specific/linux/nvidia-x11')
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix16
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix4
2 files changed, 15 insertions, 5 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 50b724870d8..73799a421ff 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -1,11 +1,17 @@
-{ lib, callPackage, fetchpatch, fetchurl, stdenv }:
+{ lib, callPackage, fetchpatch, fetchurl, stdenv, pkgsi686Linux }:
 
 let
-
-generic = args:
-if ((!lib.versionOlder args.version "391")
+  generic = args: let
+    imported = import ./generic.nix args;
+  in if ((!lib.versionOlder args.version "391")
     && stdenv.hostPlatform.system != "x86_64-linux") then null
-  else callPackage (import ./generic.nix args) { };
+  else callPackage imported {
+    lib32 = (pkgsi686Linux.callPackage imported {
+      libsOnly = true;
+      kernel = null;
+    }).out;
+  };
+
   kernel = callPackage # a hacky way of extracting parameters from callPackage
     ({ kernel, libsOnly ? false }: if libsOnly then { } else kernel) { };
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index 2543da74ca6..75453d955ad 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -25,6 +25,8 @@
 , # don't include the bundled 32-bit libraries on 64-bit platforms,
   # even if it’s in downloaded binary
   disable32Bit ? false
+  # 32 bit libs only version of this package
+, lib32 ? null
 }:
 
 with lib;
@@ -93,6 +95,8 @@ let
       };
       persistenced = mapNullable (hash: callPackage (import ./persistenced.nix self hash) { }) persistencedSha256;
       inherit persistencedVersion settingsVersion;
+    } // optionalAttrs (!i686bundled) {
+      inherit lib32;
     };
 
     meta = with lib; {