Simon Tournier <[email protected]> writes:
> Hi, > > On Wed, 28 Dec 2022 at 15:09, Gottfried <[email protected]> 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~.
