about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorGabriel Ebner <gebner@gebner.org>2016-08-05 18:29:02 +0200
committerGabriel Ebner <gebner@gebner.org>2016-08-05 18:31:04 +0200
commit5e6ac5fcf30be007ab38c1b5588a24d8ed048db6 (patch)
tree199615d1b7621f6d8e0b26ec538d62385ce3983b /nixos
parent632f9060f1257f3cb45df2a64709cd48efa4238c (diff)
downloadnixlib-5e6ac5fcf30be007ab38c1b5588a24d8ed048db6.tar
nixlib-5e6ac5fcf30be007ab38c1b5588a24d8ed048db6.tar.gz
nixlib-5e6ac5fcf30be007ab38c1b5588a24d8ed048db6.tar.bz2
nixlib-5e6ac5fcf30be007ab38c1b5588a24d8ed048db6.tar.lz
nixlib-5e6ac5fcf30be007ab38c1b5588a24d8ed048db6.tar.xz
nixlib-5e6ac5fcf30be007ab38c1b5588a24d8ed048db6.tar.zst
nixlib-5e6ac5fcf30be007ab38c1b5588a24d8ed048db6.zip
nixos/x11: output sections for modesetting driver
See #17487.
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/x11/xserver.nix10
1 files changed, 6 insertions, 4 deletions
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index e7df2e6b4690..51f55322ca61 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -14,6 +14,9 @@ let
   # Map video driver names to driver packages. FIXME: move into card-specific modules.
   knownVideoDrivers = {
     virtualbox = { modules = [ kernelPackages.virtualboxGuestAdditions ]; driverName = "vboxvideo"; };
+
+    # modesetting does not have a xf86videomodesetting package as it is included in xorgserver
+    modesetting = {};
   };
 
   fontsForXServer =
@@ -435,15 +438,14 @@ in
 
     services.xserver.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ];
 
-    # FIXME: somehow check for unknown driver names.
-    services.xserver.drivers = flip concatMap cfg.videoDrivers (name:
+    services.xserver.drivers = flip map cfg.videoDrivers (name:
       let driver =
         attrByPath [name]
           (if xorg ? ${"xf86video" + name}
            then { modules = [xorg.${"xf86video" + name}]; }
-           else null)
+           else throw "Unknown video driver: ${name}")
           knownVideoDrivers;
-      in optional (driver != null) ({ inherit name; driverName = name; } // driver));
+      in { inherit name; modules = []; driverName = name; } // driver);
 
     assertions =
       [ { assertion = config.security.polkit.enable;