all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: zimoun <zimon.toutoune@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Adding a subcommand "load-profile"
Date: Mon, 4 May 2020 15:34:36 +0200	[thread overview]
Message-ID: <CAJ3okZ0YcE9FU+UOWg04K3cYsZiPnfkybuZTi-+0swgfOX3a8w@mail.gmail.com> (raw)
In-Reply-To: <87ftcgwyjq.fsf@gnu.org>

Hi Ludo,

On Sun, 3 May 2020 at 22:31, Ludovic Courtès <ludo@gnu.org> wrote:

>   1. guix environment (but it’s slower)
>
>   2. sh
>      . /my/profile/etc/profile.sh
>      exit

Personally, time to time I use (thanks Pjotr):

   env -i $(which bash) --login --noprofile --norc
   . /my/profile/etc/profile
   exit

because 'sh' is roughly bare and typing /my/long/path/to/profile
without completion, history, move backward, etc. is not practical.

Note: it is written in the Cookbook. Bottom of [1].
[1] https://guix.gnu.org/cookbook/en/html_node/Basic-setup-with-manifests.html#Basic-setup-with-manifests


>   3. sh
>      eval `guix package -p /my/profile --search-paths`
>      exit
>
> Options #2 and #3 are more verbose, and less obvious to someone not
> familiar with the shell.
>
> Still, such commands are targeting shell users, which makes me wonder
> how far we should go.  It’s an honest question: I’m torn between the
> will to provide a simple CLI, and the need to avoid proliferation of
> commands all more or less equivalent.

Well, part of the subcommand "environment" could be done with "guix
package -p" and then #3 but it is more more (more!) convenient to have
a full subcommand: easy to use day-to-day and easy to explain, etc..

However, I am not in favour for adding another subcommands for only
the use case of loading a profile.  (Note that the point of Roel is
legitimate: minimize the burden of their users already typing "guixr
load-profile".)
From my point of view, instead of a subcommand, it should be an
option: guix environment --load-profile or in short -P.

And if another subcommand is added, it should be the more ambitious
"profile manager", e.g., "guix profile", as it has been partly
discussed, for examples in threads starting there:

https://lists.gnu.org/archive/html/guix-devel/2019-10/msg00565.html
https://lists.gnu.org/archive/html/guix-devel/2019-12/msg00358.html


Last, I prefer another subcommand (load-profile) than nothing.
Because it is requested since a long time.



All the best,
simon


      parent reply	other threads:[~2020-05-04 13:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-28 15:42 Adding a subcommand "load-profile" Roel Janssen
2020-04-28 16:54 ` zimoun
2020-04-29 12:47   ` Roel Janssen
2020-04-29 13:48     ` zimoun
2020-04-29 19:14       ` Roel Janssen
2020-04-28 17:34 ` sirgazil
2020-05-03 20:31   ` Ludovic Courtès
2020-05-03 20:56     ` Vagrant Cascadian
2020-05-04 13:36       ` zimoun
2020-05-05  8:52       ` Ludovic Courtès
2020-05-04 13:34     ` zimoun [this message]

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

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

  git send-email \
    --in-reply-to=CAJ3okZ0YcE9FU+UOWg04K3cYsZiPnfkybuZTi-+0swgfOX3a8w@mail.gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.