unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Maze <maze@pkbd.org>
To: Andrew Tropin <andrew@trop.in>
Cc: 57498@debbugs.gnu.org, "Ludovic Courtès" <ludo@gnu.org>,
	"Tobias Geerinckx-Rice" <me@tobias.gr>,
	"Efraim Flashner" <efraim@flashner.co.il>
Subject: bug#57498: bash-completion completion functions not loaded when using guix home
Date: Wed, 31 Aug 2022 20:21:22 +0800	[thread overview]
Message-ID: <20220831122122.wsyvyxm56tdt7zkm@ubik.pkbd.org> (raw)
In-Reply-To: <87wnaok4ol.fsf@trop.in>

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, maze@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




  reply	other threads:[~2022-08-31 12:22 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-31  7:35 bug#57498: bash-completion completion functions not loaded when using guix home Maze
2022-08-31 11:55 ` Andrew Tropin
2022-08-31 12:21   ` Maze [this message]
2023-03-18 11:19 ` wolf

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=20220831122122.wsyvyxm56tdt7zkm@ubik.pkbd.org \
    --to=maze@pkbd.org \
    --cc=57498@debbugs.gnu.org \
    --cc=andrew@trop.in \
    --cc=efraim@flashner.co.il \
    --cc=ludo@gnu.org \
    --cc=me@tobias.gr \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).