[Nix-dev] NIX_OTHER_STORES

js at lastlog.de js at lastlog.de
Wed May 23 12:28:18 CEST 2012


hi,

using a nix store other than /nix/store usually requires to do "source
deployment" (consider a new installation, where this is the case before
running: nixos-install).

this is caused by the fact that most c like programs (programs compiled
using the gnu toolchain) use the RPATH feature to find shared objects. a
location other than /nix/store (which is assumed by prebuilt binaries)
would not work without proper changes - therefore "source deployment". 
this is also true for script-wrappers, as for python packages, where we
don't have an RPATH but have to modify the foo.py programs in a way that we
add a "runner script" which extends the environment by using a custom
PYTHONPATH:
  this is done by: wrapPythonPrograms or wrapProgram coming from:
nixpkgs/pkgs/development/python-modules/generic/wrap.sh

i would like to understand what NIX_OTHER_STORES is good for (i guess it
is used when installing nixos) and how the different location of this store
interferes with the problems described above.

as the "man nix-env" says about NIX_OTHER_STORES i guess it is used for
copying "from" only. such stores can't be used to execute software directly
(unless the software in that other store is explicitly compiled to reside
in that very directory of the other store). is that correct?

regards,
/qknight


More information about the nix-dev mailing list