anchor.diff:      intel        = { modules = [ xorg.xf86videointel ]; };
       nv           = { modules = [ xorg.xf86videonv ]; };
       nvidia       = { modules = [ kernelPackages.nvidia_x11 ]; };
  -    nvidiaLegacy = { modules = [ kernelPackages.nvidia_x11_legacy ]; driverName = "nvidia"; };
  +    nvidiaLegacy96 = { modules = [ kernelPackages.nvidia_x11_legacy96 ]; driverName = "nvidia"; };
  +    nvidiaLegacy173 = { modules = [ kernelPackages.nvidia_x11_legacy173 ]; driverName = "nvidia"; };
       openchrome   = { modules = [ xorg.xf86videoopenchrome ]; };
       sis          = { modules = [ xorg.xf86videosis ]; };
       unichrome    = { modules = [ pkgs.xorgVideoUnichrome ]; };
  
positive.code:         pkgs.xterm
        ]
        ++ optional (elem "nvidia" driverNames) kernelPackages.nvidia_x11
        ++ optional (elem "nvidiaLegacy" driverNames) kernelPackages.nvidia_x11_legacy
        ++ optional (elem "virtualbox" driverNames) xorg.xrefresh
        ++ optional (elem "ati_unfree" driverNames) kernelPackages.ati_drivers_x11;
        
  
negative.code:                   ${optionalString (pkgs.stdenv.system == "x86_64-linux" && cfg.driSupport32Bit)
                      "ln -sf ${pkgs_i686.linuxPackages.nvidia_x11.override { libsOnly = true; kernel = null; } } /var/run/opengl-driver-32"}
                  ''
                else if elem "nvidiaLegacy96" driverNames then
                  "ln -sf ${kernelPackages.nvidia_x11_legacy96} /var/run/opengl-driver"
                else if elem "nvidiaLegacy173" driverNames then
                  "ln -sf ${kernelPackages.nvidia_x11_legacy173} /var/run/opengl-driver"
                else if cfg.driSupport then
                  "ln -sf ${pkgs.mesa} /var/run/opengl-driver"
                else ""
  