diff --git a/system/options.nix b/system/options.nix index 0689789c27d7..9b500a20e921 100644 --- a/system/options.nix +++ b/system/options.nix @@ -1143,6 +1143,14 @@ "; }; + xkbModel = mkOption { + default = "pc104"; + example = "presario"; + description = " + Keyboard model. + "; + }; + xkbOptions = mkOption { default = ""; example = "grp:caps_toggle, grp_led:scroll"; diff --git a/upstart-jobs/xserver.conf b/upstart-jobs/xserver.conf index d3fc22278c56..98f98f481f9f 100644 --- a/upstart-jobs/xserver.conf +++ b/upstart-jobs/xserver.conf @@ -26,7 +26,7 @@ Section "InputDevice" Identifier "Keyboard[0]" Option "Protocol" "Standard" Option "XkbLayout" "@layout@" - Option "XkbModel" "pc104" + Option "XkbModel" "@xkbModel@" Option "XkbRules" "xfree86" @xkbOptions@ EndSection diff --git a/upstart-jobs/xserver.nix b/upstart-jobs/xserver.nix index 12591118f0d2..4030e1378327 100644 --- a/upstart-jobs/xserver.nix +++ b/upstart-jobs/xserver.nix @@ -88,6 +88,7 @@ let Option "XkbOptions" "${cfg.xkbOptions}" ''; + xkbModel = cfg.xkbModel; layout = cfg.layout; corePointer = if cfg.isSynaptics then "Touchpad[0]" else "Mouse[0]";