GNU bug report logs - #27206
Fish: figure out a solution for the vendor path extension to fish

Previous Next

Package: guix;

Reported by: ng0 <ng0 <at> pragmatique.xyz>

Date: Sat, 3 Jun 2017 10:42:01 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 27206 in the body.
You can then email your comments to 27206 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#27206; Package guix. (Sat, 03 Jun 2017 10:42:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to ng0 <ng0 <at> pragmatique.xyz>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sat, 03 Jun 2017 10:42:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: ng0 <ng0 <at> pragmatique.xyz>
To: bug-guix <at> gnu.org
Subject: Fish: figure out a solution for the vendor path extension to fish
Date: Sat, 3 Jun 2017 10:41:40 +0000
A feature-bug I forgot to report a while ago.
It has been described on the mailinglist (or was
it in my blog or some release announcement I made?)

Fish doesn't pick up stuff like 'fish-guix' from store
without modifications to the path where fish searches
for vendor or sysadmin installed systemwide 'things'
for fish.
-- 
ng0
OpenPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588




Information forwarded to bug-guix <at> gnu.org:
bug#27206; Package guix. (Sat, 03 Jun 2017 10:52:01 GMT) Full text and rfc822 format available.

Message #8 received at 27206 <at> debbugs.gnu.org (full text, mbox):

From: ng0 <ng0 <at> pragmatique.xyz>
To: 27206 <at> debbugs.gnu.org
Subject: Re: bug#27206: Fish: figure out a solution for the vendor path
 extension to fish
Date: Sat, 3 Jun 2017 10:51:32 +0000
ng0 transcribed 0.4K bytes:
> A feature-bug I forgot to report a while ago.
> It has been described on the mailinglist (or was
> it in my blog or some release announcement I made?)
> 
> Fish doesn't pick up stuff like 'fish-guix' from store
> without modifications to the path where fish searches
> for vendor or sysadmin installed systemwide 'things'
> for fish.

I have many more fish packages in a branch which
I want to get into guix, but they are stuck because
of this. Help welcome, otherwise I'll promise to
fix it one day.

Currently the only workaround is to symlink individual files from your
~/.guix-profile/whereever/things/went/ to ~/.config/fish/{approriate subdirs}
-- 
ng0
OpenPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588




Information forwarded to bug-guix <at> gnu.org:
bug#27206; Package guix. (Wed, 02 Aug 2017 22:12:02 GMT) Full text and rfc822 format available.

Message #11 received at 27206 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: 27206 <at> debbugs.gnu.org
Subject: Re: bug#27206: Fish: figure out a solution for the vendor path
 extension to fish
Date: Thu, 03 Aug 2017 00:11:45 +0200
ng0 <ng0 <at> pragmatique.xyz> skribis:

> ng0 transcribed 0.4K bytes:
>> A feature-bug I forgot to report a while ago.
>> It has been described on the mailinglist (or was
>> it in my blog or some release announcement I made?)
>> 
>> Fish doesn't pick up stuff like 'fish-guix' from store
>> without modifications to the path where fish searches
>> for vendor or sysadmin installed systemwide 'things'
>> for fish.
>
> I have many more fish packages in a branch which
> I want to get into guix, but they are stuck because
> of this. Help welcome, otherwise I'll promise to
> fix it one day.
>
> Currently the only workaround is to symlink individual files from your
> ~/.guix-profile/whereever/things/went/ to ~/.config/fish/{approriate subdirs}

Does Fish have an environment variable that can be used to specify the
search path for extensions, similar to BASH_LOADABLES_PATH?  If it does,
we could use that.

Otherwise, perhaps we can consider it an upstream issue in a way?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#27206; Package guix. (Wed, 02 Aug 2017 22:44:02 GMT) Full text and rfc822 format available.

Message #14 received at 27206 <at> debbugs.gnu.org (full text, mbox):

From: ng0 <ng0 <at> infotropique.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 27206 <at> debbugs.gnu.org
Subject: Re: bug#27206: Fish: figure out a solution for the vendor path
 extension to fish
Date: Wed, 2 Aug 2017 22:42:49 +0000
[Message part 1 (text/plain, inline)]
Ludovic Courtès transcribed 1.0K bytes:
> ng0 <ng0 <at> pragmatique.xyz> skribis:
> 
> > ng0 transcribed 0.4K bytes:
> >> A feature-bug I forgot to report a while ago.
> >> It has been described on the mailinglist (or was
> >> it in my blog or some release announcement I made?)
> >> 
> >> Fish doesn't pick up stuff like 'fish-guix' from store
> >> without modifications to the path where fish searches
> >> for vendor or sysadmin installed systemwide 'things'
> >> for fish.
> >
> > I have many more fish packages in a branch which
> > I want to get into guix, but they are stuck because
> > of this. Help welcome, otherwise I'll promise to
> > fix it one day.
> >
> > Currently the only workaround is to symlink individual files from your
> > ~/.guix-profile/whereever/things/went/ to ~/.config/fish/{approriate subdirs}
> 
> Does Fish have an environment variable that can be used to specify the
> search path for extensions, similar to BASH_LOADABLES_PATH?  If it does,
> we could use that.
> 
> Otherwise, perhaps we can consider it an upstream issue in a way?
> 
> Thanks,
> Ludo’.

Late night reply, so I'll be short.
I have some open reading material on how Nix solved this,
which is the only system coming close to our layout. Everyone
else can just point to one of the canonical paths.

I haven't concluded yet if Nix' solution is usable for us
as they sometimes take shortcuts.

I'll post the links within the next 7 days, more likely on
the weekend.

Thanks, goodnight
-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://n0is.noblogs.org/my-keys
https://www.infotropique.org https://krosos.org
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27206; Package guix. (Sun, 14 Jan 2018 17:43:01 GMT) Full text and rfc822 format available.

Message #17 received at 27206 <at> debbugs.gnu.org (full text, mbox):

From: ng0 <ng0 <at> n0.is>
To: 27206 <at> debbugs.gnu.org
Subject: Re: bug#27206: Fish: figure out a solution for the vendor path
 extension to fish
Date: Sun, 14 Jan 2018 18:42:28 +0000
[Message part 1 (text/plain, inline)]
ng0 transcribed 2.7K bytes:
> Ludovic Courtès transcribed 1.0K bytes:
> > ng0 <ng0 <at> pragmatique.xyz> skribis:
> > 
> > > ng0 transcribed 0.4K bytes:
> > >> A feature-bug I forgot to report a while ago.
> > >> It has been described on the mailinglist (or was
> > >> it in my blog or some release announcement I made?)
> > >> 
> > >> Fish doesn't pick up stuff like 'fish-guix' from store
> > >> without modifications to the path where fish searches
> > >> for vendor or sysadmin installed systemwide 'things'
> > >> for fish.
> > >
> > > I have many more fish packages in a branch which
> > > I want to get into guix, but they are stuck because
> > > of this. Help welcome, otherwise I'll promise to
> > > fix it one day.
> > >
> > > Currently the only workaround is to symlink individual files from your
> > > ~/.guix-profile/whereever/things/went/ to ~/.config/fish/{approriate subdirs}
> > 
> > Does Fish have an environment variable that can be used to specify the
> > search path for extensions, similar to BASH_LOADABLES_PATH?  If it does,
> > we could use that.
> > 
> > Otherwise, perhaps we can consider it an upstream issue in a way?
> > 
> > Thanks,
> > Ludo’.
> 
> Late night reply, so I'll be short.
> I have some open reading material on how Nix solved this,
> which is the only system coming close to our layout. Everyone
> else can just point to one of the canonical paths.
> 
> I haven't concluded yet if Nix' solution is usable for us
> as they sometimes take shortcuts.
> 
> I'll post the links within the next 7 days, more likely on
> the weekend.
> 
> Thanks, goodnight

Long 7 days ;)

Here are the links from my bookmarks, for those who want to look into fixing this:
https://github.com/NixOS/nixpkgs/pull/24314
https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/virtualization/docker/default.nix
https://github.com/NixOS/nixpkgs/issues/5331
https://github.com/NixOS/nix/pull/626
https://github.com/NixOS/nix/issues/440
https://github.com/NixOS/nixpkgs/blob/master/pkgs/shells/fish/default.nix

If it helps, because our zsh integration (for zsh-extensions) isn't that good
either and the links reference some of the Zsh work in Nix:

https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/programs/zsh/zsh.nix
https://github.com/NixOS/nixpkgs/commit/003cd41310b5b7839eb4c402d84dc25068026c3e


-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27206; Package guix. (Mon, 07 Jan 2019 03:47:02 GMT) Full text and rfc822 format available.

Message #20 received at 27206 <at> debbugs.gnu.org (full text, mbox):

From: Meiyo Peng <meiyo.peng <at> gmail.com>
To: ng0 <at> n0.is
Cc: 27206 <at> debbugs.gnu.org
Subject: Fish: figure out a solution for the vendor path extension to fish
Date: Mon, 07 Jan 2019 11:45:50 +0800
Hi,

> Fish doesn't pick up stuff like 'fish-guix' from store
> without modifications to the path where fish searches
> for vendor or sysadmin installed systemwide 'things'
> for fish.

I found this old thread after submitting patch #34003.  I think that
patch has probably solved your problem.

I submitted patch #34003 to update fish to 3.0.0.  In that patch, I
enabled fish to add user's and system's profiles to __extra_* variables.
So now fish can load completions and functions from user's and system's
profiles.

$fish_complete_path and $fish_function_path become this on my computer:

#+begin_example
   ~  echo $fish_complete_path | tr ' ' '\n'
  /home/meiyo/.config/fish/completions
  /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/etc/fish/completions
  /home/meiyo/.guix-profile/etc/fish/completions
  /run/current-system/profile/etc/fish/completions
  /home/meiyo/.guix-profile/share/fish/vendor_completions.d
  /run/current-system/profile/share/fish/vendor_completions.d
  /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/vendor_completions.d
  /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/completions
  /home/meiyo/.local/share/fish/generated_completions

   ~  echo $fish_function_path | tr ' ' '\n'
  /home/meiyo/.config/fish/functions
  /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/etc/fish/functions
  /home/meiyo/.guix-profile/etc/fish/functions
  /run/current-system/profile/etc/fish/functions
  /home/meiyo/.guix-profile/share/fish/vendor_functions.d
  /run/current-system/profile/share/fish/vendor_functions.d
  /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/vendor_functions.d
  /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/functions
#+end_example

We can then install fish completions and functions into either user's or
system's profile.  And fish will happily load them.

For example, youtube-dl provides a fish completion:

#+begin_example
  /gnu/store/3sv0ckhpyrxcssrk21s70klw14dz7x1b-youtube-dl-2018.12.17/etc/fish
  └── completions
      └── youtube-dl.fish
#+end_example

After installing youtube-dl into my user profile, youtube-dl command
completion works in fish:

#+begin_example
   ~  youtube-dl --<Hit TAB>
  --abort-on-error  (Abort downloading of further videos…)
  --abort-on-unavailable-fragment  (Abort downloading wh…)
  --add-header  (Specify a custom HTTP header and its va…)
  --add-metadata        (Write metadata to the video file)
  …and 159 more rows
#+end_example

youtube-dl is now in my user profile:

#+begin_example
  /home/meiyo/.guix-profile/etc/fish/
  └── completions
      └── youtube-dl.fish
#+end_example


> I have many more fish packages in a branch which
> I want to get into guix, but they are stuck because
> of this. Help welcome, otherwise I'll promise to
> fix it one day.

You can share your packages with us now!

--
Meiyo Peng
https://www.pengmeiyu.com/




Information forwarded to bug-guix <at> gnu.org:
bug#27206; Package guix. (Sat, 02 Feb 2019 07:03:04 GMT) Full text and rfc822 format available.

Message #23 received at 27206 <at> debbugs.gnu.org (full text, mbox):

From: Meiyo Peng <meiyo <at> disroot.org>
To: 27206 <at> debbugs.gnu.org
Subject: Re: Fish: figure out a solution for the vendor path extension to fish
Date: Sat, 02 Feb 2019 15:02:29 +0800
Hi,

Patch #34153 has been merged into Guix.  This issue has been solved in
that patch.  Should we close this bug?


Commit: e1dba5bea01672c94c9bc4e64695675a2da5bfea

#+begin_example
  Author:     Meiyo Peng <meiyo.peng <at> gmail.com>
  AuthorDate: Sun Jan 6 22:11:36 2019 +0800
  Commit:     Ludovic Courtès <ludo <at> gnu.org>
  CommitDate: Mon Jan 28 23:13:41 2019 +0100

  gnu: fish: Update to 3.0.0.

  * gnu/packages/shells.scm (fish): Update to 3.0.0.
    [source]: Remove dead URL.
    [inputs]: Remove bc.  Replace python-wrapper with python.
    [arguments]: Remove configure-flags.  Enable fish to source
    /etc/fish/config.fish.  Enable completions, functions and configurations
    in user's and system's guix profiles.
#+end_example


--
Meiyo Peng
https://www.pengmeiyu.com/




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 04 Feb 2019 22:14:01 GMT) Full text and rfc822 format available.

Notification sent to ng0 <ng0 <at> pragmatique.xyz>:
bug acknowledged by developer. (Mon, 04 Feb 2019 22:14:02 GMT) Full text and rfc822 format available.

Message #28 received at 27206-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Meiyo Peng <meiyo <at> disroot.org>
Cc: 27206-done <at> debbugs.gnu.org
Subject: Re: bug#27206: Fish: figure out a solution for the vendor path
 extension to fish
Date: Mon, 04 Feb 2019 23:13:09 +0100
Hi,

Meiyo Peng <meiyo <at> disroot.org> skribis:

> Patch #34153 has been merged into Guix.  This issue has been solved in
> that patch.  Should we close this bug?
>
>
> Commit: e1dba5bea01672c94c9bc4e64695675a2da5bfea

I guess we can close it, done!

Thanks for the heads-up,
Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 05 Mar 2019 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 50 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.