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.

+4 -3
+4 -3
nixos/modules/services/x11/xserver.nix
··· 438 439 services.xserver.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ]; 440 441 - services.xserver.drivers = flip map cfg.videoDrivers (name: 442 let driver = 443 attrByPath [name] 444 (if xorg ? ${"xf86video" + name} 445 then { modules = [xorg.${"xf86video" + name}]; } 446 - else throw "Unknown video driver: ${name}") 447 knownVideoDrivers; 448 - in { inherit name; modules = []; driverName = name; } // driver); 449 450 assertions = 451 [ { assertion = config.security.polkit.enable;
··· 438 439 services.xserver.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ]; 440 441 + # FIXME: somehow check for unknown driver names. 442 + services.xserver.drivers = flip concatMap cfg.videoDrivers (name: 443 let driver = 444 attrByPath [name] 445 (if xorg ? ${"xf86video" + name} 446 then { modules = [xorg.${"xf86video" + name}]; } 447 + else null) 448 knownVideoDrivers; 449 + in optional (driver != null) ({ inherit name; modules = []; driverName = name; } // driver)); 450 451 assertions = 452 [ { assertion = config.security.polkit.enable;