GNU bug report logs - #68498
[PATCH] guix-install.sh: Make Guix modules available too.

Previous Next

Package: guix-patches;

Reported by: Janneke Nieuwenhuizen <janneke <at> gnu.org>

Date: Tue, 16 Jan 2024 08:28:02 UTC

Severity: normal

Tags: patch

Done: Janneke Nieuwenhuizen <janneke <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #43 received at 68498 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 68498 <at> debbugs.gnu.org
Subject: Re: [bug#68498] [PATCH] guix-install.sh: Make Guix modules
 available too.
Date: Fri, 19 Apr 2024 16:58:38 +0200
Maxim Cournoyer writes:

Hi Maxim,

> Janneke Nieuwenhuizen <janneke <at> gnu.org> writes:
>
>> Janneke Nieuwenhuizen writes:
>>
>> Hello,
>>
>>>> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
>>>>
>>>>> Ludovic Courtès <ludo <at> gnu.org> writes:
[..]

>> Nice as it is that on Guix System you have Guix' modules available to
>> Guile by default, I stumbled onto another (obvious?) UX issue.
>
>> After doing `guix pull' (and no guix system reconfigure), you have a new
>> guix!  With new modules.  You can play with them in `guix repl'.  Only,
>> when you start the guile, these new modules are not available; guile can
>> only see the (stale) system's guix modules.  I'm not even sure how to
>> make them available to guile, other than `guix system reconfigure'.
>
> Even then, the modules available are not that of the latest pulled Guix;
> they are those of the guix package known by that guix, which was used to
> run the guix-daemon service.

Ah, right.  They're only available to ~/.config/guix/current/bin/guix,
and thus also to its repl.

>> "guix shell guile" doesn't make guix's modules available, of course, and
>> "guix shell guix guile will get you the previous guix, not the new
>> version made available by pull.  The only thing I could think of, is to
>> provide a `guile' binary in ~/.config/guix/current/bin/guile.  Hmm.
>
> I'm not sure how providing a Guile from there would help?

Maybe I'm confusing things.  Guile will only set its GUILE_*_LOAD_PATHS
if installed in the same profile; I thought the toplevel `guile' we
build in guix is a hack to do just that.  But I'm a bit out of my depth
here.

>> Hopefully there's an easier solution but if we cannot (or don't want to)
>> change/fix this, I'd possibly even rather not have guix modules
>> available to guile by default.  WDYT?
>
> Perhaps we should treat the Guix library as a first class citizen, and
> expose them to the Guile load path by default?  This would need to be
> done in some config file such as .bashrc, and could be automated in the
> guix-install. script, I believe.

That would be nice, I think.

> If we do this, we should also change the guix-daemon-service-type to
> avoid leaking 'guix' into the system profile, polluting it with old
> modules.
>
> What do you think?  Is there a better alternative I do not see?

Good questions, who would know such things? ;)

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




This bug report was last modified 1 year and 33 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.