about summary refs log tree commit diff
path: root/nixos/modules/hardware
diff options
context:
space:
mode:
authorJoachim Fasting <joachifm@fastmail.fm>2019-01-06 19:28:35 +0100
committerJoachim Fasting <joachifm@fastmail.fm>2019-01-06 19:52:08 +0100
commitab070d1b0b424a49322d70a75b21c4f21e10637a (patch)
tree728b53885f8d29c6e4e5e3d1dbc2c95c48c414d8 /nixos/modules/hardware
parent6eea9ac8683a393f55d270490c91a6f0c2af4fc0 (diff)
downloadnixlib-ab070d1b0b424a49322d70a75b21c4f21e10637a.tar
nixlib-ab070d1b0b424a49322d70a75b21c4f21e10637a.tar.gz
nixlib-ab070d1b0b424a49322d70a75b21c4f21e10637a.tar.bz2
nixlib-ab070d1b0b424a49322d70a75b21c4f21e10637a.tar.lz
nixlib-ab070d1b0b424a49322d70a75b21c4f21e10637a.tar.xz
nixlib-ab070d1b0b424a49322d70a75b21c4f21e10637a.tar.zst
nixlib-ab070d1b0b424a49322d70a75b21c4f21e10637a.zip
nixos/opengl: assert 32bit emu support if 32bit support is enabled
See https://github.com/NixOS/nixpkgs/issues/51097
Diffstat (limited to 'nixos/modules/hardware')
-rw-r--r--nixos/modules/hardware/opengl.nix12
1 files changed, 8 insertions, 4 deletions
diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix
index 48e0072e0892..6b7b8069fd44 100644
--- a/nixos/modules/hardware/opengl.nix
+++ b/nixos/modules/hardware/opengl.nix
@@ -124,10 +124,14 @@ in
 
   config = mkIf cfg.enable {
 
-    assertions = lib.singleton {
-      assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64;
-      message = "Option driSupport32Bit only makes sense on a 64-bit system.";
-    };
+    assertions = [
+      { assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64;
+        message = "Option driSupport32Bit only makes sense on a 64-bit system.";
+      }
+      { assertion = cfg.driSupport32Bit -> (config.boot.kernelPackages.kernel.features.ia32Emulation or false);
+        message = "Option driSupport32Bit requires a kernel that supports 32bit emulation";
+      }
+    ];
 
     systemd.tmpfiles.rules = [
       "L+ /run/opengl-driver - - - - ${package}"