7 buildKakounePluginFrom2Nix,
21 inherit kakoune-lsp parinfer-rust rep;
23 case-kak = buildKakounePluginFrom2Nix {
25 version = "2020-04-06";
26 src = fetchFromGitLab {
27 owner = "FlyingWombat";
29 rev = "6f1511820aa3abfa118e0f856118adc8113e2185";
30 sha256 = "002njrlwgakqgp74wivbppr9qyn57dn4n5bxkr6k6nglk9qndwdp";
32 meta.homepage = "https://gitlab.com/FlyingWombat/case.kak";
35 fzf-kak = super.fzf-kak.overrideAttrs (oldAttrs: rec {
37 if [[ -x "${fzf}/bin/fzf" ]]; then
38 fzfImpl='${fzf}/bin/fzf'
40 fzfImpl='${fzf}/bin/sk'
43 substituteInPlace $out/share/kak/autoload/plugins/fzf-kak/rc/fzf.kak \
44 --replace \'fzf\' \'"$fzfImpl"\'
48 kak-ansi = stdenv.mkDerivation rec {
52 src = fetchFromGitHub {
56 sha256 = "kFjTYFy0KF5WWEHU4hHFAnD/03/d3ptjqMMbTSaGImE=";
60 mkdir -p $out/bin $out/share/kak/autoload/plugins/
61 cp kak-ansi-filter $out/bin/
62 # Hard-code path of filter and don't try to build when Kakoune boots
64 /^declare-option.* ansi_filter /i\
65 declare-option -hidden str ansi_filter %{'"$out"'/bin/kak-ansi-filter}
66 /^declare-option.* ansi_filter /,/^}/d
67 ' rc/ansi.kak >$out/share/kak/autoload/plugins/ansi.kak
71 description = "Kakoune support for rendering ANSI code";
72 homepage = "https://github.com/eraserhd/kak-ansi";
73 license = licenses.unlicense;
74 maintainers = with maintainers; [
78 platforms = platforms.all;
82 kak-plumb = stdenv.mkDerivation rec {
86 src = fetchFromGitHub {
90 sha256 = "1rz6pr786slnf1a78m3sj09axr4d2lb5rg7sfa4mfg1zcjh06ps6";
94 mkdir -p $out/bin $out/share/kak/autoload/plugins/
95 substitute rc/plumb.kak $out/share/kak/autoload/plugins/plumb.kak \
96 --replace '9 plumb' '${plan9port}/bin/9 plumb'
97 substitute edit-client $out/bin/edit-client \
98 --replace '9 9p' '${plan9port}/bin/9 9p' \
99 --replace 'kak -p' '${kakoune-unwrapped}/bin/kak -p'
100 chmod +x $out/bin/edit-client
104 description = "Kakoune integration with the Plan 9 plumber";
105 homepage = "https://github.com/eraserhd/kak-plumb";
106 license = licenses.unlicense;
107 maintainers = with maintainers; [
111 platforms = platforms.all;
115 kakoune-rainbow = super.kakoune-rainbow.overrideAttrs (oldAttrs: rec {
118 mv $out/share/kak/autoload/plugins/kakoune-rainbow/bin/kak-rainbow.scm $out/bin
119 substituteInPlace $out/bin/kak-rainbow.scm \
120 --replace '/usr/bin/env -S guile' '${guile}/bin/guile'
121 substituteInPlace $out/share/kak/autoload/plugins/kakoune-rainbow/rainbow.kak \
122 --replace '%sh{dirname "$kak_source"}' "'$out'"
126 kakoune-state-save = buildKakounePluginFrom2Nix {
127 pname = "kakoune-state-save";
128 version = "2020-02-09";
130 src = fetchFromGitLab {
131 owner = "Screwtapello";
132 repo = "kakoune-state-save";
133 rev = "ab7c0c765326a4a80af78857469ee8c80814c52a";
134 sha256 = "AAOCG0TY3G188NnkkwMCSbkkNe487F4gwiFWwG9Yo+A=";
138 description = "Help Kakoune save and restore state between sessions";
139 homepage = "https://gitlab.com/Screwtapello/kakoune-state-save";
140 license = licenses.mit;
141 maintainers = with maintainers; [
145 platforms = platforms.all;
149 powerline-kak = super.powerline-kak.overrideAttrs (oldAttrs: rec {
151 substituteInPlace $out/share/kak/autoload/plugins/powerline-kak/rc/modules/git.kak \
152 --replace ' git ' ' ${git}/bin/git '
156 hop-kak = rustPlatform.buildRustPackage rec {
161 url = "https://git.sr.ht/~hadronized/hop.kak";
162 rev = "7314ec64809a69e0044ba7ec57a18b43e3b5f005";
163 sha256 = "stmGZQU0tp+5xxrexKMzwSwHj5F/F4HzDO9BorNWC3w=";
165 # this package uses git to put the commit hash in the
166 # help dialog, so leave the .git folder so the command
171 nativeBuildInputs = [
175 cargoHash = "sha256-EjSj/+BysGwJBxK6Ccg2+pXHdB2Lg3dxIURRsSVTHVY=";
178 mkdir -p $out/share/kak/bin
179 mv $out/bin/hop-kak $out/share/kak/bin/
183 description = "hinting brought to Kakoune selections";
184 homepage = "https://git.sr.ht/~hadronized/hop.kak/";
185 license = licenses.bsd3;
186 maintainers = with maintainers; [ oleina ];
187 platforms = platforms.all;
191 quickscope-kak = buildKakounePluginFrom2Nix rec {
192 pname = "quickscope-kak";
196 url = "https://git.sr.ht/~voroskoi/quickscope.kak";
198 sha256 = "0y1g3zpa2ql8l9rl5i2w84bka8a09kig9nq9zdchaff5pw660mcx";
201 buildInputs = [ lua5_3 ];
204 mkdir -p $out/share/kak/autoload/plugins/
205 cp quickscope.* $out/share/kak/autoload/plugins/
206 # substituteInPlace does not like the pipe
207 sed -e 's,[|] *lua,|${lua5_3}/bin/lua,' quickscope.kak >$out/share/kak/autoload/plugins/quickscope.kak
211 description = "Highlight f and t jump positions";
212 homepage = "https://sr.ht/~voroskoi/quickscope.kak/";
213 license = licenses.unlicense;
214 maintainers = with maintainers; [ eraserhd ];
215 platforms = platforms.all;
219 kakoune-catppuccin = buildKakounePluginFrom2Nix {
220 pname = "kakoune-catppuccin";
221 version = "0-unstable-2024-03-29";
222 src = fetchFromGitHub {
223 owner = "catppuccin";
225 rev = "7f187d9da2867a7fda568b2135d29b9c00cfbb94";
226 hash = "sha256-acBOQuJ8MgsMKdvFV5B2CxuxvXIYsg11n1mHEGqd120=";
229 description = "Soothing pastel theme for Kakoune";
230 homepage = "https://github.com/catppuccin/kakoune/";
231 license = licenses.mit;
232 platforms = platforms.all;
233 maintainers = with maintainers; [ philipwilk ];