nixfiles/system/hardware/opengl.nix

29 lines
765 B
Nix

{ config, lib, pkgs, ...}:
let
cfg = config.nixfiles.hardware.opengl;
in
{
options.nixfiles.hardware.opengl.enable = lib.mkEnableOption "OpenGL configuration";
config = lib.mkIf cfg.enable {
environment.systemPackages = let
offload-enabled = config.hardware.nvidia.prime.offload.enableOffloadCmd;
glxinfo = lib.getExe' pkgs.glxinfo "glxinfo";
auto-offload = pkgs.writeShellScriptBin "auto-offload" (
(if offload-enabled then ''
if nvidia-offload ${glxinfo} > /dev/null 2>&1 ; then
exec nvidia-offload "$@"
fi
'' else "")
+
''
exec "$@"
'');
in [ auto-offload ];
# Enable OpenGL
hardware.graphics = {
enable = true;
enable32Bit = true;
};
};
}