summaryrefslogtreecommitdiffstats
path: root/pkgs/os-specific
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
parent638e784bda77159138c7057d426cf8a0870da98f (diff)
parent450cb04f16cc2214c2a298fe26bb4c306cf84fb3 (diff)
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')
-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 50b724870d86..73799a421ff0 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 2543da74ca6d..75453d955ad0 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; {