unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#27206: Fish: figure out a solution for the vendor path extension to fish
@ 2017-06-03 10:41 ng0
  2017-06-03 10:51 ` ng0
  2019-01-07  3:45 ` Meiyo Peng
  0 siblings, 2 replies; 8+ messages in thread
From: ng0 @ 2017-06-03 10:41 UTC (permalink / raw)
  To: 27206

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#27206: Fish: figure out a solution for the vendor path extension to fish
  2017-06-03 10:41 bug#27206: Fish: figure out a solution for the vendor path extension to fish ng0
@ 2017-06-03 10:51 ` ng0
  2017-08-02 22:11   ` Ludovic Courtès
  2019-01-07  3:45 ` Meiyo Peng
  1 sibling, 1 reply; 8+ messages in thread
From: ng0 @ 2017-06-03 10:51 UTC (permalink / raw)
  To: 27206

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#27206: Fish: figure out a solution for the vendor path extension to fish
  2017-06-03 10:51 ` ng0
@ 2017-08-02 22:11   ` Ludovic Courtès
  2017-08-02 22:42     ` ng0
  0 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2017-08-02 22:11 UTC (permalink / raw)
  To: 27206

ng0 <ng0@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’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#27206: Fish: figure out a solution for the vendor path extension to fish
  2017-08-02 22:11   ` Ludovic Courtès
@ 2017-08-02 22:42     ` ng0
  2018-01-14 18:42       ` ng0
  0 siblings, 1 reply; 8+ messages in thread
From: ng0 @ 2017-08-02 22:42 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27206

[-- Attachment #1: Type: text/plain, Size: 1671 bytes --]

Ludovic Courtès transcribed 1.0K bytes:
> ng0 <ng0@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#27206: Fish: figure out a solution for the vendor path extension to fish
  2017-08-02 22:42     ` ng0
@ 2018-01-14 18:42       ` ng0
  0 siblings, 0 replies; 8+ messages in thread
From: ng0 @ 2018-01-14 18:42 UTC (permalink / raw)
  To: 27206

[-- Attachment #1: Type: text/plain, Size: 2492 bytes --]

ng0 transcribed 2.7K bytes:
> Ludovic Courtès transcribed 1.0K bytes:
> > ng0 <ng0@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/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#27206: Fish: figure out a solution for the vendor path extension to fish
  2017-06-03 10:41 bug#27206: Fish: figure out a solution for the vendor path extension to fish ng0
  2017-06-03 10:51 ` ng0
@ 2019-01-07  3:45 ` Meiyo Peng
  2019-02-02  7:02   ` Meiyo Peng
  1 sibling, 1 reply; 8+ messages in thread
From: Meiyo Peng @ 2019-01-07  3:45 UTC (permalink / raw)
  To: ng0; +Cc: 27206

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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#27206: Fish: figure out a solution for the vendor path extension to fish
  2019-01-07  3:45 ` Meiyo Peng
@ 2019-02-02  7:02   ` Meiyo Peng
  2019-02-04 22:13     ` Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Meiyo Peng @ 2019-02-02  7:02 UTC (permalink / raw)
  To: 27206

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@gmail.com>
  AuthorDate: Sun Jan 6 22:11:36 2019 +0800
  Commit:     Ludovic Courtès <ludo@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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#27206: Fish: figure out a solution for the vendor path extension to fish
  2019-02-02  7:02   ` Meiyo Peng
@ 2019-02-04 22:13     ` Ludovic Courtès
  0 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2019-02-04 22:13 UTC (permalink / raw)
  To: Meiyo Peng; +Cc: 27206-done

Hi,

Meiyo Peng <meiyo@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’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-02-04 22:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-03 10:41 bug#27206: Fish: figure out a solution for the vendor path extension to fish ng0
2017-06-03 10:51 ` ng0
2017-08-02 22:11   ` Ludovic Courtès
2017-08-02 22:42     ` ng0
2018-01-14 18:42       ` ng0
2019-01-07  3:45 ` Meiyo Peng
2019-02-02  7:02   ` Meiyo Peng
2019-02-04 22:13     ` Ludovic Courtès

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).