diff --git a/system/options.nix b/system/options.nix index 0e6f4bc0e93..495938ba15b 100644 --- a/system/options.nix +++ b/system/options.nix @@ -1315,6 +1315,14 @@ "; }; + packageFun = mkOption { + default = pkgs: pkgs.xorg; + description = " + Alternative X.org package to use. For + example, you can replace individual drivers. + "; + }; + }; ejabberd = { diff --git a/upstart-jobs/xserver.nix b/upstart-jobs/xserver.nix index 4030e137832..38f4149d4fe 100644 --- a/upstart-jobs/xserver.nix +++ b/upstart-jobs/xserver.nix @@ -10,7 +10,7 @@ let # Abbreviations. cfg = config.services.xserver; - xorg = pkgs.xorg; + xorg = cfg.packageFun pkgs; gnome = pkgs.gnome; stdenv = pkgs.stdenv; @@ -160,6 +160,12 @@ let '; fi; + if [ "${toString videoDriver}" = ati ]; then + export extensions=' + Option "Composite" "Enable" + '; + fi; + substituteAll $src $out ''; # */ };