[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#68498] [PATCH] guix-install.sh: Make Guix modules available too.
From: |
Janneke Nieuwenhuizen |
Subject: |
[bug#68498] [PATCH] guix-install.sh: Make Guix modules available too. |
Date: |
Fri, 19 Apr 2024 16:58:38 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Maxim Cournoyer writes:
Hi Maxim,
> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>
>> Janneke Nieuwenhuizen writes:
>>
>> Hello,
>>
>>>> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>>>>
>>>>> Ludovic Courtès <ludo@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@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com