diff options
author | Timothy DeHerrera <tim.deh@pm.me> | 2019-09-03 14:54:37 -0600 |
---|---|---|
committer | Aristid Breitkreuz <aristidb@gmail.com> | 2019-09-03 22:54:37 +0200 |
commit | 0b32fe2d7ed70d42e5ed9dd82b79f4126e67555c (patch) | |
tree | 2620a6dd7b075a9f4bd4ec4775b92fda0bb5caa2 | |
parent | 060909994383c38bea83a488f289413e874c6cf9 (diff) |
kakounePlugins: Add 5 kakoune plugins (#67593)
* kakounePlugins: Add 5 kakoune plugins
Should be compatible with
https://github.com/NixOS/nixpkgs/pull/64310
* kak-auto-pairs: for automatic closing of pairs
* kak-buffers: for easier buffer management
* kak-fzf: for fzf integration
* kak-powerline: for a prettier modeline
* kak-vertical-selection: for easy vertical selections
* kakounePlugins: alphabetize package list
* kakounePlugins.kak-fzf: add ability to choose between fzf/skim
* kakounePlugins.kak-powerline: substitute full path to git binary
9 files changed, 157 insertions, 6 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8e99854335e2..e42bc722804b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4604,6 +4604,12 @@ githubId = 9939720; name = "Philippe Nguyen"; }; + nrdxp = { + email = "tim.deh@pm.me"; + github = "nrdxp"; + githubId = 34083928; + name = "Tim DeHerrera"; + }; nshalman = { email = "nahamu@gmail.com"; github = "nshalman"; diff --git a/pkgs/applications/editors/kakoune/plugins.nix b/pkgs/applications/editors/kakoune/plugins.nix deleted file mode 100644 index d2f3607d63cb..000000000000 --- a/pkgs/applications/editors/kakoune/plugins.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ parinfer-rust }: - -{ - inherit parinfer-rust; -} diff --git a/pkgs/applications/editors/kakoune/plugins/default.nix b/pkgs/applications/editors/kakoune/plugins/default.nix new file mode 100644 index 000000000000..f53d345d49ed --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/default.nix @@ -0,0 +1,11 @@ +{ pkgs, parinfer-rust }: + +{ + inherit parinfer-rust; + + kak-auto-pairs = pkgs.callPackage ./kak-auto-pairs.nix { }; + kak-buffers = pkgs.callPackage ./kak-buffers.nix { }; + kak-fzf = pkgs.callPackage ./kak-fzf.nix { }; + kak-powerline = pkgs.callPackage ./kak-powerline.nix { }; + kak-vertical-selection = pkgs.callPackage ./kak-vertical-selection.nix { }; +} diff --git a/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix b/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix new file mode 100644 index 000000000000..48dc7106b626 --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub }: +stdenv.mkDerivation { + name = "kak-auto-pairs"; + version = "2019-07-27"; + src = fetchFromGitHub { + owner = "alexherbo2"; + repo = "auto-pairs.kak"; + rev = "886449b1a04d43e5deb2f0ef4b1aead6084c7a5f"; + sha256 = "0knfhdvslzw1f1r1k16733yhkczrg3yijjz6n2qwira84iv3239j"; + }; + + installPhase = '' + mkdir -p $out/share/kak/autoload/plugins + cp -r rc $out/share/kak/autoload/plugins/auto-pairs + ''; + + meta = with stdenv.lib; + { description = "Kakoune extension to enable automatic closing of pairs"; + homepage = "https://github.com/alexherbo2/auto-pairs.kak"; + license = licenses.publicDoman; + 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 new file mode 100644 index 000000000000..8a2474f07622 --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub }: +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 stdenv.lib; + { description = "Ease navigation between opened buffers in Kakoune"; + homepage = "https://github.com/Delapouite/kakoune-buffers"; + license = licenses.publicDoman; + 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 new file mode 100644 index 000000000000..9877c72252be --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, fzf }: + +assert stdenv.lib.asserts.assertOneOf "fzf" fzf.pname [ "fzf" "skim" ]; + +stdenv.mkDerivation { + name = "kak-fzf"; + version = "2019-07-16"; + src = fetchFromGitHub { + owner = "andreyorst"; + repo = "fzf.kak"; + rev = "ede90d3e02bceb714f997adfcbab8260b42e0a19"; + sha256 = "18w90j3fpk2ddn68497s33n66aap8phw5636y1r7pqsa641zdxcv"; + }; + + 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 stdenv.lib; + { description = "Kakoune plugin that brings integration with fzf"; + homepage = "https://github.com/andreyorst/fzf.kak"; + license = licenses.publicDoman; + maintainers = with maintainers; [ nrdxp ]; + platform = platforms.all; + }; +} diff --git a/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix b/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix new file mode 100644 index 000000000000..76af06504ea3 --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix @@ -0,0 +1,29 @@ +{ stdenv, git, fetchFromGitHub }: +stdenv.mkDerivation { + name = "kak-powerline"; + version = "2019-07-23"; + src = fetchFromGitHub { + owner = "andreyorst"; + repo = "powerline.kak"; + rev = "82b01eb6c97c7380b7da253db1fd484a5de13ea4"; + sha256 = "1480wp2jc7c84z1wqmpf09lzny6kbnbhiiym2ffaddxrd4ns9i6z"; + }; + + 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 stdenv.lib; + { description = "Kakoune modeline, but with passion"; + homepage = "https://github.com/andreyorst/powerline.kak"; + license = licenses.publicDoman; + maintainers = with maintainers; [ nrdxp ]; + 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 new file mode 100644 index 000000000000..280fb664b8f4 --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub }: +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 stdenv.lib; + { description = "Select up and down lines that match the same pattern in Kakoune"; + homepage = "https://github.com/occivink/kakoune-vertical-selection"; + license = licenses.publicDoman; + maintainers = with maintainers; [ nrdxp ]; + platform = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eccf4850ffe9..13a1f6087bef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4172,7 +4172,7 @@ in kalibrate-hackrf = callPackage ../applications/radio/kalibrate-hackrf { }; wrapKakoune = callPackage ../applications/editors/kakoune/wrapper.nix { }; - kakounePlugins = callPackage ../applications/editors/kakoune/plugins.nix { }; + kakounePlugins = callPackage ../applications/editors/kakoune/plugins { }; kakoune-unwrapped = callPackage ../applications/editors/kakoune { }; kakoune = wrapKakoune kakoune-unwrapped { }; |