На моем домашнем ноутбуке под управлением NixOS 19.03 в /etc/nixos/configuration.nix
я использую настройки локали по умолчанию:
i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "us";
defaultLocale = "en_US.UTF-8";
};
Это единственный известный мне способ управления настройками локали в NixOS, и он слишком широк. Я хочу более детальный контроль, чтобы я мог использовать смесь американского английского и колумбийского испанского. (Это следствие моей работы, а не личного выбора.) В частности, мне нужны эти настройки:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=es_CO.UTF-8
LC_TIME=es_CO.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=es_CO.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=es_CO.UTF-8
LC_NAME=es_CO.UTF-8
LC_ADDRESS=es_CO.UTF-8
LC_TELEPHONE=es_CO.UTF-8
LC_MEASUREMENT=es_CO.UTF-8
LC_IDENTIFICATION=es_CO.UTF-8
LC_ALL=
На рабочем столе (под управлением Ubuntu 18.04), если я оцениваю locale
в bash, эточто я вижу. В моей домашней системе NixOS каждая из этих переменных либо установлена на американский английский, либо ничего:
[jeff@jbb-dell:~/nix-jbb]$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Я подумал, что, возможно, мне следует отредактировать /etc/locale.conf
, скопировав в него настройки из моей рабочей системы. Но когда (в системе NixOS) я печатаю этот файл на экране, он не включает ни одну из перечисленных выше переменных, кроме LANG
:
[jeff@jbb-dell:~/nix-jbb]$ cat /etc/locale.conf
LANG=en_US.UTF-8
[jeff@jbb-dell:~/nix-jbb]$
Поэтому другие переменные, такие как LC_NUMERIC
, должныбыть настроенным где-то еще. Я беспокоюсь, что если я отредактирую /etc/locale.conf
, я сломаю свою систему. Является ли редактирование этого файла правильным способом установки детальной информации о локали в NixOS? А если нет, то что?