fzf: add script for finding 'share' folder
So that helper scripts can be easily sourced in interactive shell configuration. `autojump` package was already present and had the same requirements for findind a `share` folders, so I took an inspiration there. I beleive this is a better alternative to: - https://github.com/NixOS/nixpkgs/pull/25080 - https://github.com/NixOS/nixpkgs/pull/27058 Replacing `$out/share/shell` with `$bin/share/fzf` was necessary to prevent dependency loop in produced derivations.
This commit is contained in:
parent
e10d7655dc
commit
7723d9935f
|
@ -366,15 +366,33 @@ it. Place the resulting <filename>package.nix</filename> file into
|
|||
|
||||
</section>
|
||||
|
||||
<section xml:id="sec-autojump">
|
||||
<section xml:id="sec-shell-helpers">
|
||||
|
||||
<title>Autojump</title>
|
||||
<title>Interactive shell helpers</title>
|
||||
|
||||
<para>
|
||||
autojump needs the shell integration to be useful but unlike other systems,
|
||||
nix doesn't have a standard share directory location. This is why a
|
||||
<command>autojump-share</command> script is shipped that prints the location
|
||||
of the shared folder. This can then be used in the .bashrc like this:
|
||||
Some packages provide the shell integration to be more useful. But
|
||||
unlike other systems, nix doesn't have a standard share directory
|
||||
location. This is why a bunch <command>PACKAGE-share</command>
|
||||
scripts are shipped that print the location of the corresponding
|
||||
shared folder.
|
||||
|
||||
Current list of such packages is as following:
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>autojump</literal>: <command>autojump-share</command>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>fzf</literal>: <command>fzf-share</command>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
E.g. <literal>autojump</literal> can then used in the .bashrc like this:
|
||||
<screen>
|
||||
source "$(autojump-share)/autojump.bash"
|
||||
</screen>
|
||||
|
|
|
@ -39,7 +39,15 @@ buildGoPackage rec {
|
|||
cp -r $src/man/man1 $man/share/man
|
||||
mkdir -p $out/share/vim-plugins
|
||||
ln -s $out/share/go/src/github.com/junegunn/fzf $out/share/vim-plugins/${name}
|
||||
cp -R $src/shell $out/share/shell
|
||||
|
||||
cp -R $src/shell $bin/share/fzf
|
||||
cat <<SCRIPT > $bin/bin/fzf-share
|
||||
#!/bin/sh
|
||||
# Run this script to find the fzf shared folder where all the shell
|
||||
# integration scripts are living.
|
||||
echo $bin/share/fzf
|
||||
SCRIPT
|
||||
chmod +x $bin/bin/fzf-share
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
Loading…
Reference in a new issue