Re, On Fri, 15 Jan 2021 at 23:42, Ricardo Wurmus <rek...@elephly.net> wrote: > zimoun <zimon.touto...@gmail.com> writes: > > >> So if the file is at /tmp/foo/guix/extensions/bar.scm then > >> $GUIX_EXTENSIONS_PATH should be /tmp/foo/guix/extensions. > > > > Well, I will propose to have the thing as you said before. Because > > fixing (guix extensions bar) and the path $GUIX_EXTENSIONS_PATH/foo > > seems reasonable but $GUIX_EXTENSIONS_PATH/foo/guix/extensions is too > > redundant. > > It does seem so, but the idea was to reduce the number of files that > Guix will have to parse before finding an extension. > > Extensions would be installed to the same prefix /share/guix/extensions, > so Guix can set GUIX_EXTENSIONS_PATH to $profile/share/guix/extensions > and not worry about having to parse all the Scheme files in > $profile/share, which may be a lot — for example Guix’s own commands are > defined in files under $profile/share, so they would end up as > extensions…
Ah I see. > We can change this, but we’d need to agree on an as yet unused directory > as the root for extensions. Well, I have to rehash a bit and then see what could be "user friendly" without typing redundancy. > > Moreover, it could nice to have GUIX_EXTENSIONS_PATH look by default > > in ~/.config/guix/extensions, i.e., by default > > GUIX_EXTENSIONS_PATH=~/.config. > > The last part of this sentence is what I meant above: we need to avoid > that, because that would cause > ~/.config/guix/current/share/guile/site/3.0/guix/scripts/ to be included > in the search for extensions. Ah I see. But we could filter out this "current" from the path. In the case of default to "~/.config/guix/extensions/". Well, need some thoughts... > I have added a search path specification to the “guix” package itself, > so that it will set GUIX_EXTENSIONS_PATH to > $profile/share/guix/extensions automatically. The idea is to update the > format of the “channels.scm” file to allow for the installation of extra > packages into the “guix pull” profile (by default that’s > ~/.config/guix/current). ...because yeah that's the aim. :-) Provide extensions as channels. Cheers, simon