unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Meiyo Peng <meiyo.peng@gmail.com>
To: ng0@n0.is
Cc: 27206@debbugs.gnu.org
Subject: bug#27206: Fish: figure out a solution for the vendor path extension to fish
Date: Mon, 07 Jan 2019 11:45:50 +0800	[thread overview]
Message-ID: <8736q5ruz5.fsf@gmail.com> (raw)
In-Reply-To: <20170603104140.2veed6frwdhdhfhk@abyayala>

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/

  parent reply	other threads:[~2019-01-07  3:47 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2019-02-02  7:02   ` Meiyo Peng
2019-02-04 22:13     ` Ludovic Courtès

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=8736q5ruz5.fsf@gmail.com \
    --to=meiyo.peng@gmail.com \
    --cc=27206@debbugs.gnu.org \
    --cc=ng0@n0.is \
    /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).