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
