我刚刚从 迁移Arch Linux
到NixOS
。我配置了系统来安装GNOME
。此外,我发现了一个可以XkbOptions
在其中设置的设置services.xserver
:
// /etc/nixos/configuration.nix
...
services = {
xserver = {
desktopManager.gnome.enable = true;
displayManager.gdm.enable = true;
enable = true;
excludePackages = with pkgs; [ xterm ];
layout = "us";
xkbVariant = "";
xkbOptions = "numpad:microsoft"; # ...err, not fully working
};
};
...
我假设设置应该产生与以下设置XkbOptions
相同的结果:Num Lock on: ...
Compatibility options
GNOME Tweaks
...但它并不能在整个系统范围内正常工作。例如,Text Editor
其他一些应用程序无法正常工作。此外,我可以验证在GNOME Tweaks
(有和没有设置XkbOptions
)中进行设置将使我测试过的所有应用程序都能正常工作,所以我不确定我在NixOS
配置文件中是否做错了什么,或者是否存在一些错误xkbOptions
。
如果可能的话,我想以声明方式配置它NixOS
。有什么线索表明我做错了什么吗?
我认为不知何故,我进入了一种未正确设置的状态,因为我在尝试配置系统时
GNOME Tweaks
……同时进行所有操作。我读过,NixOS
如果已经配置了设置(或相关设置),则将无法应用配置中所述的更改。所以我继续检查当前值
gsettings get org.gnome.desktop.input-sources xkb-options
。然后我打开GNOME Tweaks
并取消设置该选项。org.gnome.desktop.input-sources xkb-options
此外,我还通过命令行进行了重置:gsettings reset org.gnome.desktop.input-sources xkb-options
— 所有这一切同时仍然NixOS
配置了xkbOptions = "numpad:microsoft"
.我重新启动了系统......一切似乎都工作正常。此外,我
GNOME Tweaks
现在还看到,重新启动后,选择了该选项。所以看来这确实是全系统认可的。