From f8cc77fc577c79bceb35ac2f5f831519f730c67e Mon Sep 17 00:00:00 2001 From: Flakebi Date: Mon, 4 Jan 2021 00:41:46 +0100 Subject: [PATCH] kakounePlugins: use script for most plugins All Kakoune plugins from before are still there and updated. Added plugins: - alexherbo2/connect.kak - alexherbo2/replace-mode.kak - alexherbo2/sleuth.kak - danr/kakoune-easymotion - Delapouite/kakoune-registers - enricozb/tabs.kak - greenfork/active-window.kak - kakoune-editor/kakoune-extra-filetypes - listentolist/kakoune-rainbow - occivink/kakoune-buffer-switcher --- .../editors/kakoune/plugins/case.kak.nix | 27 --- .../editors/kakoune/plugins/default.nix | 36 +-- .../editors/kakoune/plugins/generated.nix | 211 ++++++++++++++++++ .../editors/kakoune/plugins/kak-ansi.nix | 32 --- .../kakoune/plugins/kak-auto-pairs.nix | 24 -- .../editors/kakoune/plugins/kak-buffers.nix | 24 -- .../editors/kakoune/plugins/kak-fzf.nix | 39 ---- .../editors/kakoune/plugins/kak-plumb.nix | 31 --- .../editors/kakoune/plugins/kak-powerline.nix | 29 --- .../editors/kakoune/plugins/kak-prelude.nix | 25 --- .../plugins/kak-vertical-selection.nix | 24 -- .../kakoune/plugins/kakoune-plugin-names | 17 ++ .../editors/kakoune/plugins/openscad.kak.nix | 25 --- .../editors/kakoune/plugins/overrides.nix | 161 +++++++++++++ .../kakoune/plugins/quickscope.kak.nix | 29 --- 15 files changed, 410 insertions(+), 324 deletions(-) delete mode 100644 pkgs/applications/editors/kakoune/plugins/case.kak.nix create mode 100644 pkgs/applications/editors/kakoune/plugins/generated.nix delete mode 100644 pkgs/applications/editors/kakoune/plugins/kak-ansi.nix delete mode 100644 pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix delete mode 100644 pkgs/applications/editors/kakoune/plugins/kak-buffers.nix delete mode 100644 pkgs/applications/editors/kakoune/plugins/kak-fzf.nix delete mode 100644 pkgs/applications/editors/kakoune/plugins/kak-plumb.nix delete mode 100644 pkgs/applications/editors/kakoune/plugins/kak-powerline.nix delete mode 100644 pkgs/applications/editors/kakoune/plugins/kak-prelude.nix delete mode 100644 pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix create mode 100644 pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names delete mode 100644 pkgs/applications/editors/kakoune/plugins/openscad.kak.nix create mode 100644 pkgs/applications/editors/kakoune/plugins/overrides.nix delete mode 100644 pkgs/applications/editors/kakoune/plugins/quickscope.kak.nix diff --git a/pkgs/applications/editors/kakoune/plugins/case.kak.nix b/pkgs/applications/editors/kakoune/plugins/case.kak.nix deleted file mode 100644 index 3fa91113bbad..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/case.kak.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, stdenv, fetchFromGitLab }: - -stdenv.mkDerivation { - name = "case.kak"; - version = "unstable-2020-04-06"; - - src = fetchFromGitLab { - owner = "FlyingWombat"; - repo = "case.kak"; - rev = "6f1511820aa3abfa118e0f856118adc8113e2185"; - sha256 = "002njrlwgakqgp74wivbppr9qyn57dn4n5bxkr6k6nglk9qndwdp"; - }; - - installPhase = '' - mkdir -p $out/share/kak/autoload/plugins - cp -r rc/case.kak $out/share/kak/autoload/plugins - ''; - - meta = with lib; { - description = "Case convention conversion for Kakoune"; - homepage = "https://gitlab.com/FlyingWombat/case.kak"; - license = licenses.unlicense; - maintainers = with maintainers; [ eraserhd ]; - platform = platforms.all; - }; -} - diff --git a/pkgs/applications/editors/kakoune/plugins/default.nix b/pkgs/applications/editors/kakoune/plugins/default.nix index 98b77338b9b3..c8054aaf87b9 100644 --- a/pkgs/applications/editors/kakoune/plugins/default.nix +++ b/pkgs/applications/editors/kakoune/plugins/default.nix @@ -1,17 +1,23 @@ -{ pkgs, parinfer-rust, rep, kak-lsp }: +{ callPackage, kakouneUtils }: -{ - inherit parinfer-rust rep kak-lsp; +let - case-kak = pkgs.callPackage ./case.kak.nix { }; - kak-ansi = pkgs.callPackage ./kak-ansi.nix { }; - kak-auto-pairs = pkgs.callPackage ./kak-auto-pairs.nix { }; - kak-buffers = pkgs.callPackage ./kak-buffers.nix { }; - kak-fzf = pkgs.callPackage ./kak-fzf.nix { }; - kak-plumb = pkgs.callPackage ./kak-plumb.nix { }; - kak-powerline = pkgs.callPackage ./kak-powerline.nix { }; - kak-prelude = pkgs.callPackage ./kak-prelude.nix { }; - kak-vertical-selection = pkgs.callPackage ./kak-vertical-selection.nix { }; - openscad-kak = pkgs.callPackage ./openscad.kak.nix { }; - quickscope-kak = pkgs.callPackage ./quickscope.kak.nix { }; -} + inherit (kakouneUtils.override {}) buildKakounePluginFrom2Nix; + + plugins = callPackage ./generated.nix { + inherit buildKakounePluginFrom2Nix overrides; + }; + + # TL;DR + # * Add your plugin to ./kakoune-plugin-names + # * run ./update.py + # + # If additional modifications to the build process are required, + # add to ./overrides.nix. + overrides = callPackage ./overrides.nix { + inherit buildKakounePluginFrom2Nix; + }; + +in + +plugins diff --git a/pkgs/applications/editors/kakoune/plugins/generated.nix b/pkgs/applications/editors/kakoune/plugins/generated.nix new file mode 100644 index 000000000000..12c231899e96 --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/generated.nix @@ -0,0 +1,211 @@ +# This file has been generated by ./pkgs/applications/editors/kakoune/plugins/update.py. Do not edit! +{ lib, buildKakounePluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }: +let + packages = ( self: +{ + active-window-kak = buildKakounePluginFrom2Nix { + pname = "active-window-kak"; + version = "2020-05-13"; + src = fetchFromGitHub { + owner = "greenfork"; + repo = "active-window.kak"; + rev = "988db69cfbb88bd741d089bb43b0be551693e7c1"; + sha256 = "1fv1cp9q212gamf9z2papl5xcl2w31fpcmbgdzbxcxdl1pvfsqp8"; + }; + meta.homepage = "https://github.com/greenfork/active-window.kak/"; + }; + + auto-pairs-kak = buildKakounePluginFrom2Nix { + pname = "auto-pairs-kak"; + version = "2020-10-04"; + src = fetchFromGitHub { + owner = "alexherbo2"; + repo = "auto-pairs.kak"; + rev = "fd735ec149ef0d9ca5f628a95b1e52858b5afbdc"; + sha256 = "07795kv9njlnp6mckwv141ny2ns6wyf5r0dfjaxh9ngd105zgif1"; + }; + meta.homepage = "https://github.com/alexherbo2/auto-pairs.kak/"; + }; + + connect-kak = buildKakounePluginFrom2Nix { + pname = "connect-kak"; + version = "2020-11-25"; + src = fetchFromGitHub { + owner = "alexherbo2"; + repo = "connect.kak"; + rev = "56fc2476e8cf126fb16654f4a08582f4f76b0d3d"; + sha256 = "1qzb0rdwyx00b7wc7rlmc7rcgj3vd57jgcbdy56ic3dr8j70mv6v"; + }; + meta.homepage = "https://github.com/alexherbo2/connect.kak/"; + }; + + fzf-kak = buildKakounePluginFrom2Nix { + pname = "fzf-kak"; + version = "2020-07-26"; + src = fetchFromGitHub { + owner = "andreyorst"; + repo = "fzf.kak"; + rev = "f23daa698ad95493fbd675ae153e3cac13ef34e9"; + sha256 = "0q19ynjixy0wx9ygwj26bdm6ilkd820gy21kid73imgvkm6cgx85"; + }; + meta.homepage = "https://github.com/andreyorst/fzf.kak/"; + }; + + kakoune-buffer-switcher = buildKakounePluginFrom2Nix { + pname = "kakoune-buffer-switcher"; + version = "2020-12-27"; + src = fetchFromGitHub { + owner = "occivink"; + repo = "kakoune-buffer-switcher"; + rev = "6a27c45db87a23070c34fab36d2f8d812cd002a6"; + sha256 = "1rmwy317908v8p54806m721bpzm8sgygb9abri34537ka6r05y5j"; + }; + meta.homepage = "https://github.com/occivink/kakoune-buffer-switcher/"; + }; + + kakoune-buffers = buildKakounePluginFrom2Nix { + pname = "kakoune-buffers"; + version = "2020-06-11"; + src = fetchFromGitHub { + owner = "Delapouite"; + repo = "kakoune-buffers"; + rev = "67959fbad727ba8470fe8cd6361169560f4fb532"; + sha256 = "09prhzz4yzf6ryw0npd1gpcfp77681vgawpp1ilfvbf25xgbbz33"; + }; + meta.homepage = "https://github.com/Delapouite/kakoune-buffers/"; + }; + + kakoune-easymotion = buildKakounePluginFrom2Nix { + pname = "kakoune-easymotion"; + version = "2020-03-09"; + src = fetchFromGitHub { + owner = "danr"; + repo = "kakoune-easymotion"; + rev = "0ca75450023a149efc70e8e383e459b571355c70"; + sha256 = "15czvl0qj2k767pysr6xk2v31mkhvcbmv76xs2a8yrslchms70b5"; + }; + meta.homepage = "https://github.com/danr/kakoune-easymotion/"; + }; + + kakoune-extra-filetypes = buildKakounePluginFrom2Nix { + pname = "kakoune-extra-filetypes"; + version = "2020-12-08"; + src = fetchFromGitHub { + owner = "kakoune-editor"; + repo = "kakoune-extra-filetypes"; + rev = "9cbd83b91e0a584bdf24e999f828c60dc6365b25"; + sha256 = "12yg6k63ka8d24vn4vk7wdnxmglcd4b0yq98sghkzwg5jbp1x7vn"; + }; + meta.homepage = "https://github.com/kakoune-editor/kakoune-extra-filetypes/"; + }; + + kakoune-rainbow = buildKakounePluginFrom2Nix { + pname = "kakoune-rainbow"; + version = "2020-09-01"; + src = fetchFromGitHub { + owner = "listentolist"; + repo = "kakoune-rainbow"; + rev = "d09103e8d268cf4621215bf162a0244c9482be3c"; + sha256 = "1i3id7xw0j4z1a14mscr68ckpgvcwsjpl86lr864wy7w7qcmblx6"; + }; + meta.homepage = "https://github.com/listentolist/kakoune-rainbow/"; + }; + + kakoune-registers = buildKakounePluginFrom2Nix { + pname = "kakoune-registers"; + version = "2020-06-19"; + src = fetchFromGitHub { + owner = "Delapouite"; + repo = "kakoune-registers"; + rev = "9531947baecd83c1d4c3bea0adf10f4462f1e120"; + sha256 = "08v9ndghh7wvr8rsrqm05gksk9ai5vnwvw9gwqasbppb48cv4a8c"; + }; + meta.homepage = "https://github.com/Delapouite/kakoune-registers/"; + }; + + kakoune-vertical-selection = buildKakounePluginFrom2Nix { + pname = "kakoune-vertical-selection"; + version = "2019-04-11"; + src = fetchFromGitHub { + owner = "occivink"; + repo = "kakoune-vertical-selection"; + rev = "c420f8b867ce47375fac303886e31623669a42b7"; + sha256 = "13jdyd2j45wvgqvxdzw9zww14ly93bqjb6700zzxj7mkbiff6wsb"; + }; + meta.homepage = "https://github.com/occivink/kakoune-vertical-selection/"; + }; + + openscad-kak = buildKakounePluginFrom2Nix { + pname = "openscad-kak"; + version = "2020-12-10"; + src = fetchFromGitHub { + owner = "mayjs"; + repo = "openscad.kak"; + rev = "ba51bbdcd96ccf94bb9239bef1481b6f37125849"; + sha256 = "15dybd6dnnwla6mj8sw83nwd62para1syxzifznl6rz6kp8vqjjj"; + }; + meta.homepage = "https://github.com/mayjs/openscad.kak/"; + }; + + powerline-kak = buildKakounePluginFrom2Nix { + pname = "powerline-kak"; + version = "2020-11-28"; + src = fetchFromGitHub { + owner = "jdugan6240"; + repo = "powerline.kak"; + rev = "1426af690048ec9c1599d18725758bb954d465d6"; + sha256 = "1ycg5376rmglkiiz184r8kyjljvfnay8g208fs8b85ilg5xhkrk5"; + }; + meta.homepage = "https://github.com/jdugan6240/powerline.kak/"; + }; + + prelude-kak = buildKakounePluginFrom2Nix { + pname = "prelude-kak"; + version = "2020-09-06"; + src = fetchFromGitHub { + owner = "alexherbo2"; + repo = "prelude.kak"; + rev = "f1e0f4d5cb62a36924e3f8ba6824d6aed8c19d23"; + sha256 = "1pncr8azqvl2z9yvzhc68p1s9fld8cvak8yz88zgrp5ypx2cxl8c"; + }; + meta.homepage = "https://github.com/alexherbo2/prelude.kak/"; + }; + + replace-mode-kak = buildKakounePluginFrom2Nix { + pname = "replace-mode-kak"; + version = "2020-10-07"; + src = fetchFromGitHub { + owner = "alexherbo2"; + repo = "replace-mode.kak"; + rev = "5f4c73cdbaf5aeb964ee35ad4b9081b233af90c0"; + sha256 = "1cmylx99bm7jwfb4hclb69sdc4n8f29ssyy2byjiw53ni9rnc8q0"; + }; + meta.homepage = "https://github.com/alexherbo2/replace-mode.kak/"; + }; + + sleuth-kak = buildKakounePluginFrom2Nix { + pname = "sleuth-kak"; + version = "2020-11-06"; + src = fetchFromGitHub { + owner = "alexherbo2"; + repo = "sleuth.kak"; + rev = "911db8bd208ad0d289b8fa15a2ac665ff39bd6bd"; + sha256 = "0g41c0038fpmihqva71xl4vfbmvsp13i47gp6fnmaikajpynzc51"; + }; + meta.homepage = "https://github.com/alexherbo2/sleuth.kak/"; + }; + + tabs-kak = buildKakounePluginFrom2Nix { + pname = "tabs-kak"; + version = "2020-12-27"; + src = fetchFromGitHub { + owner = "enricozb"; + repo = "tabs.kak"; + rev = "2775ab7a1fe3bb850c1de3bcc4111e3d4c24f5d4"; + sha256 = "1vyg1dgbrrsh4vj5lllp9lhslv6gip4v6vmym4lg5mnqmd82jji1"; + }; + meta.homepage = "https://github.com/enricozb/tabs.kak/"; + }; + +}); +in lib.fix' (lib.extends overrides packages) diff --git a/pkgs/applications/editors/kakoune/plugins/kak-ansi.nix b/pkgs/applications/editors/kakoune/plugins/kak-ansi.nix deleted file mode 100644 index f34ee6d29990..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/kak-ansi.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: - -stdenv.mkDerivation rec { - name = "kak-ansi"; - version = "0.2.1"; - - src = fetchFromGitHub { - owner = "eraserhd"; - repo = "kak-ansi"; - rev = "v${version}"; - sha256 = "0ddjih8hfyf6s4g7y46p1355kklaw1ydzzh61141i0r45wyb2d0d"; - }; - - 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; - }; -} diff --git a/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix b/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix deleted file mode 100644 index 36842f999a56..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: -stdenv.mkDerivation { - name = "kak-auto-pairs"; - version = "2020-07-14"; - src = fetchFromGitHub { - owner = "alexherbo2"; - repo = "auto-pairs.kak"; - rev = "5b4b3b723c34c8b7f40cee60868204974349bf9f"; - sha256 = "1wgrv03f1lkzflbbaz8n23glij5rvfxf8pcqysd668mbx1hcrk9i"; - }; - - installPhase = '' - mkdir -p $out/share/kak/autoload/plugins - cp -r rc $out/share/kak/autoload/plugins/auto-pairs - ''; - - meta = with lib; - { description = "Kakoune extension to enable automatic closing of pairs"; - homepage = "https://github.com/alexherbo2/auto-pairs.kak"; - license = licenses.unlicense; - maintainers = with maintainers; [ nrdxp ]; - platform = platforms.all; - }; -} diff --git a/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix b/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix deleted file mode 100644 index 7075ae3ef0a3..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ stdenv, fetchFromGitHub, lib }: -stdenv.mkDerivation { - name = "kak-buffers"; - version = "2019-04-03"; - src = fetchFromGitHub { - owner = "Delapouite"; - repo = "kakoune-buffers"; - rev = "3b35b23ac2be661a37c085d34dd04d066450f757"; - sha256 = "0f3g0v1sjinii3ig9753jjj35v2km4h9bcfw9xgzwz8b10d75bax"; - }; - - installPhase = '' - mkdir -p $out/share/kak/autoload/plugins - cp -r buffers.kak $out/share/kak/autoload/plugins - ''; - - meta = with lib; - { description = "Ease navigation between opened buffers in Kakoune"; - homepage = "https://github.com/Delapouite/kakoune-buffers"; - license = licenses.mit; - maintainers = with maintainers; [ nrdxp ]; - platform = platforms.all; - }; -} diff --git a/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix b/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix deleted file mode 100644 index b52584b44562..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, fzf }: - -assert lib.asserts.assertOneOf "fzf" fzf.pname [ "fzf" "skim" ]; - -stdenv.mkDerivation { - name = "kak-fzf"; - version = "2020-07-26"; - - src = fetchFromGitHub { - owner = "andreyorst"; - repo = "fzf.kak"; - rev = "f23daa698ad95493fbd675ae153e3cac13ef34e9"; - hash = "sha256-BfXHTJ371ThOizMI/4BAbdJoaltGSP586hz4HqX1KWA="; - }; - - configurePhase = '' - if [[ -x "${fzf}/bin/fzf" ]]; then - fzfImpl='${fzf}/bin/fzf' - else - fzfImpl='${fzf}/bin/sk' - fi - - substituteInPlace rc/fzf.kak \ - --replace \'fzf\' \'"$fzfImpl"\' - ''; - - installPhase = '' - mkdir -p $out/share/kak/autoload/plugins - cp -r rc $out/share/kak/autoload/plugins/fzf - ''; - - meta = with lib; - { description = "Kakoune plugin that brings integration with fzf"; - homepage = "https://github.com/andreyorst/fzf.kak"; - license = licenses.mit; - maintainers = with maintainers; [ nrdxp ]; - platform = platforms.all; - }; -} diff --git a/pkgs/applications/editors/kakoune/plugins/kak-plumb.nix b/pkgs/applications/editors/kakoune/plugins/kak-plumb.nix deleted file mode 100644 index 0c59ca9a08f0..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/kak-plumb.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, kakoune-unwrapped, plan9port, ... }: - -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; - }; -} diff --git a/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix b/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix deleted file mode 100644 index 318ae2958b61..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, git, fetchFromGitHub, lib }: -stdenv.mkDerivation { - name = "kak-powerline"; - version = "2020-08-22"; - src = fetchFromGitHub { - owner = "jdugan6240"; - repo = "powerline.kak"; - rev = "d641b2cd8024f872bcda23f9256e7aff36da02ae"; - sha256 = "65948f5ef3ab2f46f6d186ad752665c251d887631d439949decc2654a67958a4"; - }; - - configurePhase = '' - substituteInPlace rc/modules/git.kak \ - --replace \'git\' \'${git}/bin/git\' - ''; - - installPhase = '' - mkdir -p $out/share/kak/autoload/plugins - cp -r rc $out/share/kak/autoload/plugins/powerline - ''; - - meta = with lib; - { description = "Kakoune modeline, but with passion"; - homepage = "https://github.com/jdugan6240/powerline.kak"; - license = licenses.mit; - maintainers = with maintainers; [ nrdxp ]; - platform = platforms.all; - }; -} diff --git a/pkgs/applications/editors/kakoune/plugins/kak-prelude.nix b/pkgs/applications/editors/kakoune/plugins/kak-prelude.nix deleted file mode 100644 index e6f06f4b8e64..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/kak-prelude.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: -stdenv.mkDerivation { - name = "kak-prelude"; - version = "2020-06-09"; - - src = fetchFromGitHub { - owner = "alexherbo2"; - repo = "prelude.kak"; - rev = "f1e0f4d5cb62a36924e3f8ba6824d6aed8c19d23"; - sha256 = "1pncr8azqvl2z9yvzhc68p1s9fld8cvak8yz88zgrp5ypx2cxl8c"; - }; - - installPhase = '' - mkdir -p $out/share/kak/autoload/plugins - cp -r rc $out/share/kak/autoload/plugins/prelude - ''; - - meta = with lib; - { description = "Prelude of shell blocks for Kakoune."; - homepage = "https://github.com/alexherbo2/prelude.kak"; - license = licenses.unlicense; - maintainers = with maintainers; [ buffet ]; - platform = platforms.all; - }; -} diff --git a/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix b/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix deleted file mode 100644 index 2ef9d44854fb..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ stdenv, fetchFromGitHub, lib }: -stdenv.mkDerivation { - name = "kak-vertical-selection"; - version = "2019-04-11"; - src = fetchFromGitHub { - owner = "occivink"; - repo = "kakoune-vertical-selection"; - rev = "c420f8b867ce47375fac303886e31623669a42b7"; - sha256 = "13jdyd2j45wvgqvxdzw9zww14ly93bqjb6700zzxj7mkbiff6wsb"; - }; - - installPhase = '' - mkdir -p $out/share/kak/autoload/plugins - cp -r vertical-selection.kak $out/share/kak/autoload/plugins - ''; - - meta = with lib; - { description = "Select up and down lines that match the same pattern in Kakoune"; - homepage = "https://github.com/occivink/kakoune-vertical-selection"; - license = licenses.unlicense; - maintainers = with maintainers; [ nrdxp ]; - platform = platforms.all; - }; -} diff --git a/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names b/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names new file mode 100644 index 000000000000..6cd856cb6c25 --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names @@ -0,0 +1,17 @@ +alexherbo2/auto-pairs.kak +alexherbo2/connect.kak +alexherbo2/prelude.kak +alexherbo2/replace-mode.kak +alexherbo2/sleuth.kak +andreyorst/fzf.kak +danr/kakoune-easymotion +Delapouite/kakoune-buffers +Delapouite/kakoune-registers +enricozb/tabs.kak@main +greenfork/active-window.kak +jdugan6240/powerline.kak +kakoune-editor/kakoune-extra-filetypes +listentolist/kakoune-rainbow +mayjs/openscad.kak +occivink/kakoune-buffer-switcher +occivink/kakoune-vertical-selection diff --git a/pkgs/applications/editors/kakoune/plugins/openscad.kak.nix b/pkgs/applications/editors/kakoune/plugins/openscad.kak.nix deleted file mode 100644 index 57c1033ebbdd..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/openscad.kak.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: - -stdenv.mkDerivation { - pname = "openscad.kak"; - version = "unstable-2019-11-08"; - - src = fetchFromGitHub { - owner = "mayjs"; - repo = "openscad.kak"; - rev = "d9143d5e7834e3356b49720664d5647cab9db7cc"; - sha256 = "0j4dqhrn56z77hdalfdxagwz8h6nwr8s9i4w0bs2644k72lsm2ix"; - }; - - installPhase = '' - install -Dm644 rc/openscad.kak -t $out/share/kak/autoload/plugins/ - ''; - - meta = with lib; { - description = "Syntax highlighting for OpenSCAD files"; - homepage = "https://github.com/mayjs/openscad.kak"; - license = licenses.unlicense; - maintainers = with maintainers; [ eraserhd ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/applications/editors/kakoune/plugins/overrides.nix b/pkgs/applications/editors/kakoune/plugins/overrides.nix new file mode 100644 index 000000000000..d75dcc9ac909 --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/overrides.nix @@ -0,0 +1,161 @@ +{ 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.1"; + + src = fetchFromGitHub { + owner = "eraserhd"; + repo = "kak-ansi"; + rev = "v${version}"; + sha256 = "0ddjih8hfyf6s4g7y46p1355kklaw1ydzzh61141i0r45wyb2d0d"; + }; + + 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; + }; + }; +} diff --git a/pkgs/applications/editors/kakoune/plugins/quickscope.kak.nix b/pkgs/applications/editors/kakoune/plugins/quickscope.kak.nix deleted file mode 100644 index 8e60e17e7928..000000000000 --- a/pkgs/applications/editors/kakoune/plugins/quickscope.kak.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, stdenv, fetchgit, lua5_3 }: - -stdenv.mkDerivation 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; - }; -}