unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Kyle Andrews <kyle@posteo.net>
To: Simon Tournier <zimon.toutoune@gmail.com>
Cc: Gottfried <gottfried@posteo.de>, Csepp <raingloom@riseup.net>,
	Wojtek Kosior <koszko@koszko.org>,
	help-guix@gnu.org
Subject: Re: attempt to create a profile
Date: Sat, 04 Feb 2023 23:36:36 +0000	[thread overview]
Message-ID: <877cwx6kdh.fsf@posteo.net> (raw)
In-Reply-To: <87fscnis4q.fsf@gmail.com>


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~.


  parent reply	other threads:[~2023-02-05  0:12 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-28 15:09 attempt to create a profile Gottfried
2023-01-06 15:45 ` Simon Tournier
2023-01-09 15:59   ` Gottfried
2023-01-11 21:27     ` Simon Tournier
2023-01-11 16:55   ` Gottfried
2023-02-04 23:36   ` Kyle Andrews [this message]
2023-02-06 17:21     ` Simon Tournier
2023-02-07 10:06       ` Gottfried
2023-02-07 11:03         ` zimoun
2023-02-07 13:33           ` Gottfried
2023-02-08  1:25             ` Csepp
2023-02-08  9:58               ` Simon Tournier
2023-02-09 14:21                 ` Gottfried
2023-02-09 14:44               ` Gottfried
2023-02-09 19:20                 ` Csepp
2023-02-11 16:20                   ` Gottfried
2023-02-11 17:30                     ` Csepp
2023-02-12 12:15                       ` Gottfried
2023-02-14  4:45       ` Kyle Andrews
2023-02-14  5:40         ` 宋文武
2023-02-14  6:00           ` Kyle Andrews
2023-02-14 11:04             ` Simon Tournier
     [not found] <mailman.95.1673024475.17576.help-guix@gnu.org>
2023-01-08  9:21 ` Gottfried
2023-01-08 10:52   ` Csepp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877cwx6kdh.fsf@posteo.net \
    --to=kyle@posteo.net \
    --cc=gottfried@posteo.de \
    --cc=help-guix@gnu.org \
    --cc=koszko@koszko.org \
    --cc=raingloom@riseup.net \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).