Index: /etc/nixos/nixos/system/options.nix
===================================================================
--- /etc/nixos/nixos/system/options.nix	(revision 11282)
+++ /etc/nixos/nixos/system/options.nix	(working copy)
@@ -1183,21 +1183,28 @@
         ";
       };
 
-      isSynaptics = mkOption {
-        default = false;
-        example = true;
-        description = "
-          Whether to replace mouse with touchpad.
-        ";
+      synaptics = {
+        enable = mkOption {
+          default = false;
+          example = true;
+          description = "
+            Whether to replace mouse with touchpad.
+          ";
+        };
+	dev = mkOption {
+          default = "/dev/input/event0";
+          description = "
+            Event device for Synaptics touchpad.
+          ";
+        };
+	minSpeed = mkOption {
+	  default = "0.06";
+	};
+	maxSpeed = mkOption {
+	  default = "0.12";
+	};
       };
 
-      devSynaptics = mkOption {
-        default = "/dev/input/event0";
-        description = "
-          Event device for Synaptics touchpad.
-        ";
-      };
-
       layout = mkOption {
         default = "us";
         description = "
Index: /etc/nixos/nixos/upstart-jobs/xserver.nix
===================================================================
--- /etc/nixos/nixos/upstart-jobs/xserver.nix	(revision 11282)
+++ /etc/nixos/nixos/upstart-jobs/xserver.nix	(working copy)
@@ -49,7 +49,7 @@
     ++ optional (videoDriver == "intel") xorg.xf86videointel
     ++ optional (videoDriver == "nv") xorg.xf86videonv
     ++ optional (videoDriver == "ati") xorg.xf86videoati
-    ++ (optional cfg.isSynaptics ["${pkgs.synaptics}/${xorg.xorgserver}" /*xorg.xf86inputevdev*/]);
+    ++ (optional cfg.synaptics.enable ["${pkgs.synaptics}/${xorg.xorgserver}" /*xorg.xf86inputevdev*/]);
 
 
   configFile = stdenv.mkDerivation {
@@ -58,11 +58,11 @@
     inherit fontDirectories videoDriver resolutions;
     isClone = if cfg.isClone then "on" else "off";
 
-    synapticsInputDevice = if cfg.isSynaptics then ''
+    synapticsInputDevice = if cfg.synaptics.enable then ''
       Section "InputDevice"
         Identifier "Touchpad[0]"
         Driver "synaptics"
-        Option "Device" "${cfg.devSynaptics}"
+        Option "Device" "${cfg.synaptics.dev}"
         Option "Protocol" "PS/2"
         Option "LeftEdge" "1700"
         Option "RightEdge" "5300"
@@ -73,8 +73,8 @@
         Option "MaxTapTime" "180"
         Option "MaxTapMove" "220"
         Option "VertScrollDelta" "100"
-        Option "MinSpeed" "0.06"
-        Option "MaxSpeed" "0.12"
+        Option "MinSpeed" "${cfg.synaptics.minSpeed}"
+        Option "MaxSpeed" "${cfg.synaptics.maxSpeed}"
         Option "AccelFactor" "0.0010"
         Option "SHMConfig" "on"
         Option "Repeater" "/dev/input/mice"
@@ -91,7 +91,7 @@
     xkbModel = cfg.xkbModel;
     layout = cfg.layout;
 
-    corePointer = if cfg.isSynaptics then "Touchpad[0]" else "Mouse[0]";
+    corePointer = if cfg.synaptics.enable then "Touchpad[0]" else "Mouse[0]";
 
     internalAGPGART =
       if cfg.useInternalAGPGART == "yes" then
