guix-devel
[Top][All Lists]
Advanced

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

Re: Collect guix profiles in single directory.


From: Leo Prikler
Subject: Re: Collect guix profiles in single directory.
Date: Fri, 31 Jan 2020 10:18:15 +0100
User-agent: Evolution 3.32.4

Hi Pierre,

Am Freitag, den 31.01.2020, 08:59 +0100 schrieb Pierre Neidhardt:
> Hi Leo,
> 
> About ordering:
> 
> 1. ~/.config/guix/current is special in that it's the channel of Guix
> and it's installed by "guix pull" unlike other channels.  Thus I
> don't
> think it belongs to GUIX_PROFILE_DIR.  That said, we could introduce
> another environment variable for those who want to move it somewhere
> else.
The whole point of this operation was to put everything into one
directory, including profiles managed by `guix pull` rather than `guix
package` -- see the subject line and the initial post.
In the first place, current is not even some piece of configuration
that would warrant putting it into $XDG_CONFIG_DIR or requiring any
other variable, that ends with _CONFIG_DIR.  Conceptually it is a
profile like any other.

> 2. Indeed profiles should be loaded in a well known order.  I suggest
> to
> follow the C alphabetical order.  Should "default" be sourced before
> the
> rest?  Maybe not.  I suggest we leave it to the user at this point.
If we use reverse alphabetical order, we'll have [z-default), default,
channels, (channels-a], which would mimic the current behaviour.
This is also beneficial when people start prefixing their profiles with
numbers to get deterministic ordering.  If p00-foo is loaded after p01-
bar, the paths it sets will be so that p00-foo appears first.

> > - When GUIX_PROFILE_DIR is set, use GUIX_PROFILE_DIR/channels in
> > `guix
> > pull', falling back to ~/.config/guix/current.
> 
> As suggested above, "guix pull" is quite special.  I don't think we
> should put it in GUIX_PROFILE_DIR/channels.
As discussed above.

> > - When GUIX_PROFILE_DIR is set, read channels from
> > $GUIX_PROFILE_DIR/channels.scm, falling back to
> > ~/.config/guix/channels.scm.
> 
> No strong opinion here, we could also leave it to
> ~/.config/guix/channels.scm.  It's a configuration file after all.
Fair enough, but I'd also like $GUIX_PROFILE_DIR to be a place where
users can store their manifests and other specifications.  Hence
loading channels.scm from there first (if it exists) sounds like a good
idea.

> Maybe not, since this might raise confusions, e.g. what happens when
> you
> type `-P my-profile` and there is a "my-profile" directory in the
> current directory?
My bad, I forgot, that lowercase `-p` will still exist.  Now that I
think about it, is -P my-profile really that much better than -p
$GUIX_PROFILE_DIR/my-profile?  I personally believe explicit to be
better here.

Regards,
Leo




reply via email to

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