Difference between revisions of "Locales"

From NixOS Wiki
Jump to: navigation, search
m
m (rollback unauthorized mass edits)
Tag: Rollback
 
(6 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
== Troubleshooting when using nix on non-NixOS linux distributions ==
 
== Troubleshooting when using nix on non-NixOS linux distributions ==
  
You may need to set the environmental variable LOCALE_ACHIVE to point to your system's locale-achive. The following can be added to your .zshenv (zsh) or .profile (bash) and applies to Debian, Red Hat, and Arch derivatives:
+
You may need to set the environmental variable LOCALE_ARCHIVE to point to your system's locale-archive. The following can be added to your .zshenv (zsh) or .profile (bash) and applies to Debian, Red Hat, and Arch derivatives:
  
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
 
export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive
 
export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive
 +
</syntaxhighlight>
 +
 +
And if that file from the local system is somehow broken:
 +
 +
<syntaxhighlight lang=bash>
 +
# May require a one-time installation with: nix-env -iA nixpkgs.glibcLocales
 +
export LOCALE_ARCHIVE="$(nix-env --installed --no-name --out-path --query glibc-locales)/lib/locale/locale-archive"
 +
</syntaxhighlight>
 +
 +
== Enable locale support in Nix shell ==
 +
 +
To support locales within a Nix shell, for example to get localised command output, you need to do something similar:
 +
 +
<syntaxhighlight lang=bash>
 +
pkgs.mkShell {
 +
  # [other code omitted]
 +
  LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>

Latest revision as of 11:02, 6 April 2024

Troubleshooting when using nix on non-NixOS linux distributions

You may need to set the environmental variable LOCALE_ARCHIVE to point to your system's locale-archive. The following can be added to your .zshenv (zsh) or .profile (bash) and applies to Debian, Red Hat, and Arch derivatives:

export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive

And if that file from the local system is somehow broken:

# May require a one-time installation with: nix-env -iA nixpkgs.glibcLocales
export LOCALE_ARCHIVE="$(nix-env --installed --no-name --out-path --query glibc-locales)/lib/locale/locale-archive"

Enable locale support in Nix shell

To support locales within a Nix shell, for example to get localised command output, you need to do something similar:

pkgs.mkShell {
  # [other code omitted]
  LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
}