mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-25 23:23:07 +00:00
162 lines
5.0 KiB
Nix
162 lines
5.0 KiB
Nix
{ lib, stdenv, fetchFromGitHub, fetchFromGitLab, fetchgit
|
|
, buildKakounePluginFrom2Nix
|
|
, kak-lsp, parinfer-rust, rep
|
|
, fzf, git, guile, kakoune-unwrapped, lua5_3, plan9port
|
|
}:
|
|
|
|
self: super: {
|
|
inherit kak-lsp parinfer-rust rep;
|
|
|
|
case-kak = buildKakounePluginFrom2Nix {
|
|
pname = "case-kak";
|
|
version = "2020-04-06";
|
|
src = fetchFromGitLab {
|
|
owner = "FlyingWombat";
|
|
repo = "case.kak";
|
|
rev = "6f1511820aa3abfa118e0f856118adc8113e2185";
|
|
sha256 = "002njrlwgakqgp74wivbppr9qyn57dn4n5bxkr6k6nglk9qndwdp";
|
|
};
|
|
meta.homepage = "https://gitlab.com/FlyingWombat/case.kak";
|
|
};
|
|
|
|
fzf-kak = super.fzf-kak.overrideAttrs(oldAttrs: rec {
|
|
preFixup = ''
|
|
if [[ -x "${fzf}/bin/fzf" ]]; then
|
|
fzfImpl='${fzf}/bin/fzf'
|
|
else
|
|
fzfImpl='${fzf}/bin/sk'
|
|
fi
|
|
|
|
substituteInPlace $out/share/kak/autoload/plugins/fzf-kak/rc/fzf.kak \
|
|
--replace \'fzf\' \'"$fzfImpl"\'
|
|
'';
|
|
});
|
|
|
|
kak-ansi = stdenv.mkDerivation rec {
|
|
pname = "kak-ansi";
|
|
version = "0.2.4";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "eraserhd";
|
|
repo = "kak-ansi";
|
|
rev = "v${version}";
|
|
sha256 = "kFjTYFy0KF5WWEHU4hHFAnD/03/d3ptjqMMbTSaGImE=";
|
|
};
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin $out/share/kak/autoload/plugins/
|
|
cp kak-ansi-filter $out/bin/
|
|
# Hard-code path of filter and don't try to build when Kakoune boots
|
|
sed '
|
|
/^declare-option.* ansi_filter /i\
|
|
declare-option -hidden str ansi_filter %{'"$out"'/bin/kak-ansi-filter}
|
|
/^declare-option.* ansi_filter /,/^}/d
|
|
' rc/ansi.kak >$out/share/kak/autoload/plugins/ansi.kak
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Kakoune support for rendering ANSI code";
|
|
homepage = "https://github.com/eraserhd/kak-ansi";
|
|
license = licenses.unlicense;
|
|
maintainers = with maintainers; [ eraserhd ];
|
|
platforms = platforms.all;
|
|
};
|
|
};
|
|
|
|
kak-plumb = stdenv.mkDerivation rec {
|
|
pname = "kak-plumb";
|
|
version = "0.1.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "eraserhd";
|
|
repo = "kak-plumb";
|
|
rev = "v${version}";
|
|
sha256 = "1rz6pr786slnf1a78m3sj09axr4d2lb5rg7sfa4mfg1zcjh06ps6";
|
|
};
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin $out/share/kak/autoload/plugins/
|
|
substitute rc/plumb.kak $out/share/kak/autoload/plugins/plumb.kak \
|
|
--replace '9 plumb' '${plan9port}/bin/9 plumb'
|
|
substitute edit-client $out/bin/edit-client \
|
|
--replace '9 9p' '${plan9port}/bin/9 9p' \
|
|
--replace 'kak -p' '${kakoune-unwrapped}/bin/kak -p'
|
|
chmod +x $out/bin/edit-client
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Kakoune integration with the Plan 9 plumber";
|
|
homepage = "https://github.com/eraserhd/kak-plumb";
|
|
license = licenses.unlicense;
|
|
maintainers = with maintainers; [ eraserhd ];
|
|
platforms = platforms.all;
|
|
};
|
|
};
|
|
|
|
kakoune-rainbow = super.kakoune-rainbow.overrideAttrs(oldAttrs: rec {
|
|
preFixup = ''
|
|
mkdir -p $out/bin
|
|
mv $out/share/kak/autoload/plugins/kakoune-rainbow/bin/kak-rainbow.scm $out/bin
|
|
substituteInPlace $out/bin/kak-rainbow.scm \
|
|
--replace '/usr/bin/env -S guile' '${guile}/bin/guile'
|
|
substituteInPlace $out/share/kak/autoload/plugins/kakoune-rainbow/rainbow.kak \
|
|
--replace '%sh{dirname "$kak_source"}' "'$out'"
|
|
'';
|
|
});
|
|
|
|
kakoune-state-save = buildKakounePluginFrom2Nix {
|
|
pname = "kakoune-state-save";
|
|
version = "2020-02-09";
|
|
|
|
src = fetchFromGitLab {
|
|
owner = "Screwtapello";
|
|
repo = "kakoune-state-save";
|
|
rev = "ab7c0c765326a4a80af78857469ee8c80814c52a";
|
|
sha256 = "AAOCG0TY3G188NnkkwMCSbkkNe487F4gwiFWwG9Yo+A=";
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "Help Kakoune save and restore state between sessions";
|
|
homepage = "https://gitlab.com/Screwtapello/kakoune-state-save";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ Flakebi ];
|
|
platforms = platforms.all;
|
|
};
|
|
};
|
|
|
|
powerline-kak = super.powerline-kak.overrideAttrs(oldAttrs: rec {
|
|
preFixup = ''
|
|
substituteInPlace $out/share/kak/autoload/plugins/powerline-kak/rc/modules/git.kak \
|
|
--replace ' git ' ' ${git}/bin/git '
|
|
'';
|
|
});
|
|
|
|
quickscope-kak = buildKakounePluginFrom2Nix rec {
|
|
pname = "quickscope-kak";
|
|
version = "1.0.0";
|
|
|
|
src = fetchgit {
|
|
url = "https://git.sr.ht/~voroskoi/quickscope.kak";
|
|
rev = "v${version}";
|
|
sha256 = "0y1g3zpa2ql8l9rl5i2w84bka8a09kig9nq9zdchaff5pw660mcx";
|
|
};
|
|
|
|
buildInputs = [ lua5_3 ];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/share/kak/autoload/plugins/
|
|
cp quickscope.* $out/share/kak/autoload/plugins/
|
|
# substituteInPlace does not like the pipe
|
|
sed -e 's,[|] *lua,|${lua5_3}/bin/lua,' quickscope.kak >$out/share/kak/autoload/plugins/quickscope.kak
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Highlight f and t jump positions";
|
|
homepage = "https://sr.ht/~voroskoi/quickscope.kak/";
|
|
license = licenses.unlicense;
|
|
maintainers = with maintainers; [ eraserhd ];
|
|
platforms = platforms.all;
|
|
};
|
|
};
|
|
}
|