Subject: Re: [bug#36021] [PATCH] search-paths: 'environment-variable-definition' output for fish

From: Ludovic Courtès <[email-masked]>
Date: Sat, 01 Jun 2019 15:10:30 +0200

Hi,

Dan Frumin <[email-masked]> skribis:

> Some background on this patch:
> Right now whenever I do any Guix operation that requires me to modify
> environment variables (e.g. installing a Guile library requires me to
> update $GUILE_LOAD_PATH afterwards), Guix helpful tells me what
> commands I have to run to update the variables.

But see <https://issues.guix.gnu.org/issue/35942>.  :-)

> However, those commands are currently in bash/POSIX(?) format `export
> VAR=VALUE`. I've modified the `environment-variable-definition`
> function to support the syntax for Fish shell as well. I don't know if
> this method of looking at the $SHELL variable is sound, but it works
> on my machine.

“export VAR=VALUE” is actually Bash-specific.  The POSIX way to do it
is:

  VAR=VALUE; export VAR

Would that work with Fish?

If it does, we might just as well take that route as it will also cater
to other POSIX-compatible shells.

If not, your patch sounds like the right way.

Thanks,
Ludo’.