Bumblebee now only uses one opengl implementation
Thanks to the `overlay`, `nvidia-x11` is the same across all `nixpkgs`.
This commit is contained in:
parent
df9d0ecc16
commit
2021895c3f
44
default.nix
44
default.nix
|
@ -1,25 +1,39 @@
|
||||||
{ system ? builtins.currentSystem,
|
{ system ? builtins.currentSystem,
|
||||||
nvidiaVersion ? null,
|
nvidiaVersion ? null,
|
||||||
nvidiaHash ? null,
|
nvidiaHash ? null,
|
||||||
pkgs ? import <nixpkgs> { inherit system; }
|
pkgs ? import <nixpkgs>
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with pkgs;
|
let
|
||||||
|
overlay = self: super:
|
||||||
|
{
|
||||||
|
linuxPackages = super.linuxPackages //
|
||||||
|
{
|
||||||
|
nvidia_x11 = (super.linuxPackages.nvidia_x11.override {
|
||||||
|
}).overrideAttrs(oldAttrs: rec {
|
||||||
|
name = "nvidia-${nvidiaVersion}";
|
||||||
|
src = super.fetchurl {
|
||||||
|
url = "http://download.nvidia.com/XFree86/Linux-x86_64/${nvidiaVersion}/NVIDIA-Linux-x86_64-${nvidiaVersion}.run";
|
||||||
|
sha256 = nvidiaHash;
|
||||||
|
};
|
||||||
|
useGLVND = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs = pkgs { overlays = [overlay]; };
|
||||||
|
in
|
||||||
|
with nixpkgs;
|
||||||
rec {
|
rec {
|
||||||
nvidiaLibsOnly = (linuxPackages.nvidia_x11.override {
|
nvidia = linuxPackages.nvidia_x11;
|
||||||
libsOnly = true;
|
|
||||||
kernel = null;
|
nvidiaLibsOnly = nvidia.override {
|
||||||
}).overrideAttrs(oldAttrs: rec {
|
libsOnly = true;
|
||||||
name = "nvidia-${nvidiaVersion}";
|
kernel = null;
|
||||||
src = fetchurl {
|
};
|
||||||
url = "http://download.nvidia.com/XFree86/Linux-x86_64/${nvidiaVersion}/NVIDIA-Linux-x86_64-${nvidiaVersion}.run";
|
|
||||||
sha256 = nvidiaHash;
|
|
||||||
};
|
|
||||||
useGLVND = 0;
|
|
||||||
});
|
|
||||||
|
|
||||||
nixGLNvidiaBumblebee = runCommand "nixGLNvidiaBumblebee" {
|
nixGLNvidiaBumblebee = runCommand "nixGLNvidiaBumblebee" {
|
||||||
buildInputs = [ nvidiaLibsOnly bumblebee ];
|
buildInputs = [ nvidia bumblebee ];
|
||||||
|
|
||||||
meta = with pkgs.stdenv.lib; {
|
meta = with pkgs.stdenv.lib; {
|
||||||
description = "A tool to launch OpenGL application on system other than NixOS - Nvidia bumblebee version";
|
description = "A tool to launch OpenGL application on system other than NixOS - Nvidia bumblebee version";
|
||||||
|
@ -29,7 +43,7 @@ rec {
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cat > $out/bin/nixGLNvidiaBumblebee << FOO
|
cat > $out/bin/nixGLNvidiaBumblebee << FOO
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
export LD_LIBRARY_PATH=${nvidiaLibsOnly}/lib
|
export LD_LIBRARY_PATH=${nvidia}/lib
|
||||||
${bumblebee}/bin/optirun "\$@"
|
${bumblebee}/bin/optirun "\$@"
|
||||||
FOO
|
FOO
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user