我在用着NixOS 23.05.885.bb8b5735d6f
。我通常配置由输入源设置的两种语言选择GNOME Settings
:
[x80486@uplink:~]$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'us'), ('xkb', 'es')]
我想看看是否有任何配置services.xserver
可以达到相同的结果。到目前为止,唯一看起来可以做到这一点的关键是services.xserver.extraLayouts
,但我无法让它工作。
有任何线索如何实现这一点吗?
答案1
这就像在 in 中添加另一个值layout
一样services.xserver
简单/etc/nixos/configuration.nix
:
{ config, pkgs, ... }:
{
...
services = {
...
xserver = {
desktopManager.gnome.enable = true;
displayManager.gdm.enable = true;
enable = true;
excludePackages = with pkgs; [ xterm ];
layout = "es,us";
...
xkbOptions = "numpad:microsoft";
};
};
...
}
最初,我有layout = "us"
.添加es
、重建配置并重新启动系统(可能注销和重新启动也可以)后,我可以在GNOME
顶部栏中看到两个输入源 - 并且也可以使用 进行验证gsettings
。
[x80486@uplink:~]$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'es'), ('xkb', 'us')]
注意:我之前必须重置此设置 (
gsettings reset org.gnome.desktop.input-sources sources
),以便在构建新NixOS
配置/生成时看到应用的正确值。