Subject: Re: bug#45958: [PATCH core-updates v3 1/2] utils: Retrieve the store prefix from NIX_STORE_DIR, not STORE_DIR.

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 26 Jan 2021 22:58:53 -0500

Hello,

Maxim Cournoyer <[email-masked]> writes:

> On the daemon side, nixStore gets set to the environment variable
> NIX_STORE_DIR, else the environment variable NIX_STORE else the compile time
> macro NIX_STORE_DIR (see the Settings::processEnvironment method in
> nix/libstore/globals.cc).  Hence, it is more appropriate to lookup the
> environment variable NIX_STORE_DIR than NIX_STORE in (guix build utils).
>
> * guix/build/utils.scm (%store-directory): Call getenv with NIX_STORE_DIR
> instead of NIX_STORE.
> ---
>  guix/build/utils.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/guix/build/utils.scm b/guix/build/utils.scm
> index 76180e67e0..2cbdb31505 100644
> --- a/guix/build/utils.scm
> +++ b/guix/build/utils.scm
> @@ -144,7 +144,7 @@
>  
>  (define (%store-directory)
>    "Return the directory name of the store."
> -  (or (getenv "NIX_STORE")
> +  (or (getenv "NIX_STORE_DIR")
>        "/gnu/store"))
>  
>  (define (store-file-name? file)

I found that both environment variables should be honored and pushed
with a revised explanation in 47a6a938c3c4d0bbe7b6a3c64ff75d7bfb2f24fb.

Closing,

Maxim