help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: attempt to create a profile


From: Kyle Andrews
Subject: Re: attempt to create a profile
Date: Sat, 04 Feb 2023 23:36:36 +0000

Simon Tournier <zimon.toutoune@gmail.com> writes:

> Hi,
>
> On Wed, 28 Dec 2022 at 15:09, Gottfried <gottfried@posteo.de> wrote:
>
>> Which commands can I use to enter and close my new profile?
>
> To enter, you just need to ’source path/to/some-profile/etc/profile’.
>
> However, you cannot “deactivacte“; unset the environment variables and
> restore the previous ones.  Maybe, the easiest is:
>
>    bash
>    source path/to/some-profile/etc/profile
>    …do some stuff…
>    exit
>
> Instead, you can run
>
>     guix shell -p path/to/some-profile/etc/profile
>     …do some stuff…
>     exit
>
> which does the same thing as above.
>
>
>> ...and also at start up that I can choose which profile to open?
>
> What do you mean by “choose”?
>
>
>> guix package --profile=/home/gfp/projects/musescore-3.6.2.guix-profile
>>
>> and beforehand I created the directory "projects" and
>> "Musescore-3.6.2" in the directory "projects"
>> in my /home/gfp/ directory
>> (I did that because it said: "
>> file or directory was not found"
>>
>> but it didn't work.
>> "warning: nothing to do" was the answer.
>>
>> Where was my mistake?
>
> It is missing the option -i (or -m).  For instance,
>
>     guix package -i musescore -p projects/musescore-3.6.2.guix-profile
>
>
> Cheers,
> simon

Thank you Gottfried for asking this question and thank you Simon for
providing these examples.

I didn't realize I could use guix shell with an already installed and
named profile. This suggests a follow-up question:

Is it possible to use guix shell to activate multiple existing profiles
in a particular order to explicitly test for incompatibilities when
combining profiles?

I have been using multiple existing profiles mainly in the hope it would
spare my poor underpowered and aging laptop the burden of having to do a
long system update ordeal all at once. This seemed to me especially
useful when there would be conflicts which would require uninstalling
something and then redoing a lot of work.

However, it has not worked out as well as I could have hoped. For one
thing, I have found Emacs to be quite confused as to whether some
documentation or command completions are available or not. For another
thing, I found that if there was an explicitly recognized problem, it
would usually be related to an issue with package definitions on my
personal channel or in the main Guix channel and I would then have to
run guix pull. After do that operation, I believed I would have to
update everything again anyway. I had just read a discussion on this
forum where it was mentioned that mixing guix executables from different
guix generations would be asking for trouble and that the only way to
make sure things would work correctly was to keep
~/.config/guix/current/bin~ at the front of our PATH. Maybe this is an
example where this issue is relevant?  I have had many issues which I
have reported but these have all turned out to be unreproducible in a
single dedicated profile.

In conclusion, I'm a bit surprised that activating multiple profiles at
once is so easily found and recommended in the cookbook. It seems to me
like there are many underemphasized gotchas with respect to
reproducibility and usability which come from it and as far as I can
tell, the main developers of Guix do not use it that way. If it is going
to be recommended as atleast a possibility for advanced users, then it
would be nice to be able to formally test that usage through ~guix shell~.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]