diff options
author | Gabriel Ebner <gebner@gebner.org> | 2016-08-06 07:22:33 +0200 |
---|---|---|
committer | Gabriel Ebner <gebner@gebner.org> | 2016-08-06 07:26:25 +0200 |
commit | 22088b4b25119083d8adfc055073f563b9cd8115 (patch) | |
tree | 4796dfe2c730ff4d9f127af3f10a2a6b7c16185d | |
parent | af8b7d3a28009569c90901008b78bd339fe57927 (diff) | |
download | nixlib-22088b4b25119083d8adfc055073f563b9cd8115.tar nixlib-22088b4b25119083d8adfc055073f563b9cd8115.tar.gz nixlib-22088b4b25119083d8adfc055073f563b9cd8115.tar.bz2 nixlib-22088b4b25119083d8adfc055073f563b9cd8115.tar.lz nixlib-22088b4b25119083d8adfc055073f563b9cd8115.tar.xz nixlib-22088b4b25119083d8adfc055073f563b9cd8115.tar.zst nixlib-22088b4b25119083d8adfc055073f563b9cd8115.zip |
nixos/x11: make nvidia driver work again
The nvidia driver module directly sets the services.xserver.drivers option, while still having nvidia/nvidiaBeta/... etc. in the videoDrivers option.
-rw-r--r-- | nixos/modules/services/x11/xserver.nix | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 51f55322ca61..b03f70385b1f 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -438,14 +438,15 @@ in services.xserver.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ]; - services.xserver.drivers = flip map cfg.videoDrivers (name: + # FIXME: somehow check for unknown driver names. + services.xserver.drivers = flip concatMap cfg.videoDrivers (name: let driver = attrByPath [name] (if xorg ? ${"xf86video" + name} then { modules = [xorg.${"xf86video" + name}]; } - else throw "Unknown video driver: ${name}") + else null) knownVideoDrivers; - in { inherit name; modules = []; driverName = name; } // driver); + in optional (driver != null) ({ inherit name; modules = []; driverName = name; } // driver)); assertions = [ { assertion = config.security.polkit.enable; |