diff --git a/modules/services/x11/xserver/default.nix b/modules/services/x11/xserver/default.nix index d32309aa4fa..ccbec555ce6 100644 --- a/modules/services/x11/xserver/default.nix +++ b/modules/services/x11/xserver/default.nix @@ -336,7 +336,31 @@ let [ pkgs.xorg.fontadobe100dpi pkgs.xorg.fontadobe75dpi ]; - + + + halConfigFiles = [ + (pkgs.writeTextFile { + name = "hal-policy-keymap"; + destination = "/policy/30-keymap.fdi"; + text = '' + + + + + hal-setup-keymap + + + + base + ${cfg.xkbModel} + ${cfg.layout} + ${cfg.xkbOptions} + + + + ''; + }) + ]; configFile = stdenv.mkDerivation { name = "xserver.conf"; @@ -543,6 +567,10 @@ mkIf cfg.enable { }; }; + hal = { + extraFdi = halConfigFiles; + }; + extraJobs = [{ name = "xserver"; job = ''