You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I run nix-shell -p with any package, I get the following message: "bash: export: RANLİB=ranlib': geçerli bir tanımlayıcı değil". This is very likely to be specific for my locale, which is Turkish. It gets solved only when I run with LC_ALL=C.
Steps To Reproduce
Set your locale to Turkish
Run nix-shell -p with any package you want
Get the error
Expected behavior
I expected it to run without any environmental variable required.
Activity
Filippo-Galli commentedon Oct 30, 2026
Hi! The root cause of this issue actually lives in Nixpkgs rather than the Nix CLI itself (
pkgs/build-support/bintools-wrapper/setup-hook.sh).What is happening:
nix-shell -pruns an impure shell by default, which inherits your terminal's locale (tr_TR.UTF-8).nix-shellsources$stdenv/setup, which in turn executes the setup hook forbintools-wrapper.ranlibare converted to uppercase to export variables (RANLIB=ranlib).iis uppercased toİ(dotted capitalİ, U+0130). This turnsranlibintoRANLİB.RANLİBas an invalid identifier (geçerli bir tanımlayıcı değil).I have opened a PR in Nixpkgs with an improved fix that makes these tool variable exports completely locale-independent: NixOS/nixpkgs#581050
In the meantime, running with
LC_ALL=C nix-shell -p ...remains the best workaround until the fix reaches your channel.