Thanks for the information and right, it is easy to workaround once figured out. Next time I find a little thing of this sort I'll be sure to check on the core-updates branch.
On Wednesday 31 August 2022 at 02:55:54PM, Andrew Tropin has written: > On 2022-08-31 15:35, m...@pkbd.org wrote: > > > I don't install bash-completion into my system profile and I use only > > guix home to install user packages. I typically don't guix install any > > packages. > > > > While I do include the bash-completion package in my home configuration > > file, the completion bash functions do not get loaded as needed, the > > resulting user experience is as if bash-completion wasn't installed, > > although .bashrc is edited in the typical way to load the main file > > bash_completion. But, the shell code in bash_completion cannot find and > > load the individual files containing the completion functions for > > individual commands. > > > > The reason is that I don't have a ~/.guix-profile folder, my current > > user profile is linked in ~/.guix-home/profile. The relevant path (in > > my case) is not included in the search path for completion bash functions. > > > > In guix this completion functions search path is defined by the patch found > > at > > gnu/packages/patches/bash-completion-directories.patch, where you can > > see the path to the guix home user profile is missing. > > > > The patch below is a patch to the patch file I mention above from the > > guix dource tree. It just adds 2 folders to the search path. > > > > I verified that it works for me. > > Hi Maze! > > That's right, the similiar fix is already applied on core-updates branch > 675c5c9bbd28e5e666903aa81efaec25b1573811, unfortunately bash-completion > package update affects a lot of packages that's why it's not on master > branch yet. Thank you for the patch, anyway! > > For now, while 1.4 is not released yet, as a temporary fix I can suggest > to install the package providing bash-completion to ~/.guix-profile or > system profile. There are other workarounds, but this one seems to be > the easiest. > > > > > --- > > bash-completion: fix loading of completion functions with guix home > > > > * gnu/packages/patches/bash-completion-directories.patch: modified > > --- > > gnu/packages/patches/bash-completion-directories.patch | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/gnu/packages/patches/bash-completion-directories.patch > > b/gnu/packages/patches/bash-completion-directories.patch > > index 021e34653b..3c6b3082ea 100644 > > --- a/gnu/packages/patches/bash-completion-directories.patch > > +++ b/gnu/packages/patches/bash-completion-directories.patch > > @@ -10,7 +10,7 @@ This is what this patch does. > > > > --- a/bash_completion > > +++ b/bash_completion > > -@@ -2016,7 +2016,13 @@ complete -F _minimal '' > > +@@ -2016,7 +2016,15 @@ complete -F _minimal '' > > > > __load_completion() > > { > > @@ -19,6 +19,8 @@ This is what this patch does. > > + > > ${BASH_COMPLETION_USER_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion}/completions > > + "$HOME/.guix-profile/share/bash-completion/completions/$base" > > It seems $base not needed anymore, it's a rudiment from an old version > of the patch. I'll remove it. > > > + "$HOME/.guix-profile/etc/bash_completion.d/$base" > > ++ "$HOME/.guix-home/profile/share/bash-completion/completions/$base" > > ++ "$HOME/.guix-home/profile/etc/bash_completion.d/$base" > > + > > "/run/current-system/profile/share/bash-completion/completions/$base" > > + "/run/current-system/profile/etc/bash_completion.d/$base" ) > > + > > > > base-commit: 47c11772dfe840a536ed7ec438fe832878f51054 > > > -- > Best regards, > Andrew Tropin -- Maze