48 lines
1.5 KiB
Nix
48 lines
1.5 KiB
Nix
{
|
|
description = "A wrapper tool for nix OpenGL applications";
|
|
|
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
|
inputs.nixpkgs.url = "github:nixos/nixpkgs";
|
|
|
|
outputs = { self, nixpkgs, flake-utils }:
|
|
(flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
isIntelX86Platform = system == "x86_64-linux";
|
|
nix_pkgs = import nixpkgs { inherit system; };
|
|
pkgs = import ./default.nix {
|
|
pkgs = nix_pkgs;
|
|
enable32bits = isIntelX86Platform;
|
|
enableIntelX86Extensions = isIntelX86Platform;
|
|
};
|
|
in
|
|
rec {
|
|
|
|
packages = {
|
|
# makes it easy to use "nix run nixGL --impure -- program"
|
|
default = pkgs.auto.nixGLDefault;
|
|
|
|
nixGLDefault = pkgs.auto.nixGLDefault;
|
|
nixGLNvidia = pkgs.auto.nixGLNvidia;
|
|
nixGLNvidiaBumblebee = pkgs.auto.nixGLNvidiaBumblebee;
|
|
nixGLIntel = pkgs.nixGLIntel;
|
|
nixVulkanNvidia = pkgs.auto.nixVulkanNvidia;
|
|
nixVulkanIntel = pkgs.nixVulkanIntel;
|
|
};
|
|
|
|
# deprecated attributes for retro compatibility
|
|
defaultPackage = packages;
|
|
})) // rec {
|
|
# deprecated attributes for retro compatibility
|
|
overlay = overlays.default;
|
|
overlays.default = final: _:
|
|
let isIntelX86Platform = final.system == "x86_64-linux";
|
|
in {
|
|
nixgl = import ./default.nix {
|
|
pkgs = final;
|
|
enable32bits = isIntelX86Platform;
|
|
enableIntelX86Extensions = isIntelX86Platform;
|
|
};
|
|
};
|
|
};
|
|
}
|