Coder Social home page Coder Social logo

nixpkgs-vim-extra-plugins's Introduction

nixpkgs-vim-extra-plugins

Nix flake of miscellaneous Vim/Neovim plugins.

Table of contents

Description

This flake contains Nix packages of miscellaneous Vim/Neovim plugins. Most of them are simply not provided by the official nixpkgs. Some of them are provided but patched in this flake, or their version/revision in the official nixpkgs is not up to date for my use case.

Packages are automatically updated twice per week using GitHub Actions.

Moreover, Neovim plugins listed in awesome-neovim are automatically generated by parsing the README. Since these packages are automatically generated, some of them could be broken due to lack of appropriate overrides (missing dependencies, build inputs, etc.). So you should be careful if you want to use them.

Usage

In flake

The overlay simply adds extra Vim plugins into pkgs.vimExtraPlugins. Use it as you normally do, like

{
  inputs = {
    flake-utils.url = "github:numtide/flake-utils";
    vim-extra-plugins.url = "github:m15a/nixpkgs-vim-extra-plugins";
  };
  outputs = { self, nixpkgs, flake-utils, vim-extra-plugins, ... }:
  flake-utils.lib.eachDefaultSystem (system:
  let
    pkgs = import nixpkgs {
      inherit system;
      overlays = [ vim-extra-plugins.overlay ];
    };
  in {
    packages = {
      my-neovim = pkgs.neovim.override {
        configure = {
          packages.example = with pkgs.vimExtraPlugins; {
            start = [
              lspactions
              vim-hy
            ];
          };
        };
      };
    };
  });
}

In legacy Nix

It is handy to use builtins.getFlake, which was introduced in Nix 2.4. For example,

with import <nixpkgs> {
  overlays = [
    (builtins.getFlake "github:m15a/nixpkgs-vim-extra-plugins").overlay
  ];
};

For Nix <2.4, use builtins.fetchTarball instead.

with import <nixpkgs> {
  overlays = [
    (import (builtins.fetchTarball {
      url = "https://github.com/m15a/nixpkgs-vim-extra-plugins/archive/main.tar.gz";
    })).overlay
  ];
};

Via NUR

You can also use it via NUR at nur.repos.m15a.vimExtraPlugins, see the package list.

Available Vim/Neovim plugins

Plugin owner/repo Recent commit Nix package name
0styx0/abbreinder.nvim 2022-01-15 abbreinder-nvim
AckslD/nvim-revJ.lua 2021-09-12 nvim-revJ-lua
AllenDang/nvim-expand-expr 2021-08-14 nvim-expand-expr
CRAG666/code_runner.nvim 2022-01-24 code-runner-nvim
David-Kunz/cmp-npm 2021-10-27 cmp-npm
David-Kunz/jester 2022-01-31 jester
FrenzyExists/aquarium-vim 2021-12-26 aquarium-vim
Fymyte/rasi.vim 2022-01-15 rasi-vim
Iron-E/nvim-cartographer 2022-02-04 nvim-cartographer
JoosepAlviste/nvim-ts-context-commentstring 2021-12-13 nvim-ts-context-commentstring
L3MON4D3/LuaSnip 2022-02-06 LuaSnip
LinArcX/telescope-command-palette.nvim 2022-01-31 telescope-command-palette-nvim
LionC/nest.nvim 2021-09-26 nest-nvim
LoricAndre/OneTerm.nvim 2021-07-30 OneTerm-nvim
Mangeshrex/uwu.vim 2022-01-30 uwu-vim
mcauley-penney/tidy.nvim 2022-01-08 tidy-nvim
Mofiqul/dracula.nvim 2022-01-27 dracula-nvim
Mofiqul/vscode.nvim 2022-01-08 vscode-nvim
MunifTanjim/nui.nvim 2022-01-30 nui-nvim
NFrid/due.nvim 2021-07-04 due-nvim
NTBBloodbath/cheovim 2021-08-25 cheovim
NTBBloodbath/doom-one.nvim 2021-12-29 doom-one-nvim
NTBBloodbath/galaxyline.nvim 2022-01-21 galaxyline-nvim
NTBBloodbath/rest.nvim 2022-01-26 rest-nvim
ThemerCorp/themer.lua 2022-02-05 themer-lua
PHSix/nvim-hybrid 2022-01-22 nvim-hybrid
Pocco81/AbbrevMan.nvim 2021-07-15 AbbrevMan-nvim
Pocco81/AutoSave.nvim 2021-12-14 AutoSave-nvim
Pocco81/DAPInstall.nvim 2022-01-27 DAPInstall-nvim
Pocco81/HighStr.nvim 2021-08-17 HighStr-nvim
RRethy/nvim-treesitter-textsubjects 2022-01-25 nvim-treesitter-textsubjects
RishabhRD/gruvy 2022-01-09 gruvy
RishabhRD/lspactions 2022-01-19 lspactions
RishabhRD/lspactions [branch: nvim-0.6-compatible] 2022-01-08 lspactions-nvim06-compatible
RishabhRD/nvim-rdark 2020-12-25 nvim-rdark
Th3Whit3Wolf/onebuddy 2021-04-01 onebuddy
Th3Whit3Wolf/space-nvim 2021-07-08 space-nvim
ThePrimeagen/vim-be-good 2021-03-16 vim-be-good
TimUntersberger/neofs 2021-11-02 neofs
Xuyuanp/yanil 2022-01-27 yanil
abecodes/tabout.nvim 2021-12-15 tabout-nvim
adelarsq/neoline.vim 2022-01-03 neoline-vim
adisen99/apprentice.nvim 2021-12-12 apprentice-nvim
adisen99/codeschool.nvim 2021-12-12 codeschool-nvim
akinsho/dependency-assist.nvim 2021-11-11 dependency-assist-nvim
akinsho/flutter-tools.nvim 2022-01-16 flutter-tools-nvim
akinsho/toggleterm.nvim 2022-01-26 toggleterm-nvim
alaviss/nim.nvim 2021-10-07 nim-nvim
alec-gibson/nvim-tetris 2021-06-28 nvim-tetris
alexaandru/nvim-lspupdate 2021-12-21 nvim-lspupdate
aliou/bats.vim 2021-01-10 bats-vim
amirrezaask/fuzzy.nvim 2021-05-13 fuzzy-nvim
andersevenrud/nordic.nvim 2022-02-02 nordic-nvim
anott03/nvim-lspinstall 2021-07-23 nvim-lspinstall
anuvyklack/pretty-fold.nvim 2022-02-05 pretty-fold-nvim
aserowy/tmux.nvim 2022-01-09 tmux-nvim
b0o/mapx.nvim 2021-11-22 mapx-nvim
beauwilliams/focus.nvim 2022-01-23 focus-nvim
beauwilliams/statusline.lua 2022-01-12 statusline-lua
bfredl/nvim-luadev 2022-01-26 nvim-luadev
bkegley/gloombuddy 2021-04-16 gloombuddy
bluz71/vim-moonfly-colors 2022-01-30 vim-moonfly-colors
bluz71/vim-nightfly-guicolors 2021-12-09 vim-nightfly-guicolors
booperlv/nvim-gomove 2022-02-01 nvim-gomove
catppuccin/nvim 2022-02-04 catppuccin
chipsenkbeil/distant.nvim 2021-11-13 distant-nvim
clojure-vim/jazz.nvim 2019-04-30 jazz-nvim
coc-extensions/coc-svelte 2021-11-27 coc-svelte
code-biscuits/nvim-biscuits 2021-11-12 nvim-biscuits
crispgm/nvim-go 2022-01-28 nvim-go
crispgm/nvim-tabline 2021-10-18 nvim-tabline
crispgm/telescope-heading.nvim 2021-12-02 telescope-heading-nvim
danielpieper/telescope-tmuxinator.nvim 2021-08-19 telescope-tmuxinator-nvim
danymat/neogen 2022-02-06 neogen
datwaft/bubbly.nvim 2021-11-15 bubbly-nvim
davidgranstrom/nvim-markdown-preview 2021-12-07 nvim-markdown-preview
davidgranstrom/osc.nvim 2021-08-02 osc-nvim
davidgranstrom/scnvim 2022-01-10 scnvim
dcampos/nvim-snippy 2022-02-06 nvim-snippy
dkarter/bullets.vim 2022-01-30 bullets-vim
edolphin-ydf/goimpl.nvim 2021-12-07 goimpl-nvim
ekickx/clipboard-image.nvim 2022-01-18 clipboard-image-nvim
ellisonleao/glow.nvim 2022-01-26 glow-nvim
ethanholz/nvim-lastplace 2021-10-15 nvim-lastplace
evanleck/vim-svelte 2022-01-15 vim-svelte
feline-nvim/feline.nvim 2021-12-28 feline-nvim
folke/zen-mode.nvim 2021-11-07 zen-mode-nvim
fuenor/JpFormat.vim 2019-07-12 JpFormat-vim
gbprod/cutlass.nvim 2022-01-27 cutlass-nvim
gbprod/substitute.nvim 2022-02-02 substitute-nvim
gennaro-tedesco/nvim-commaround 2022-01-14 nvim-commaround
github/copilot.vim 2021-12-07 copilot-vim
glacambre/firenvim 2022-02-05 firenvim
glepnir/indent-guides.nvim 2021-03-26 indent-guides-nvim
glepnir/prodoc.nvim 2021-01-23 prodoc-nvim
goolord/alpha-nvim 2022-01-19 alpha-nvim
h-hg/fcitx.nvim 2021-12-11 fcitx-nvim
henriquehbr/ataraxis.lua 2021-10-24 ataraxis-lua
henriquehbr/nvim-startup.lua 2021-10-10 nvim-startup-lua
hkupty/nvimux 2022-01-31 nvimux
houtsnip/vim-emacscommandline 2017-11-24 vim-emacscommandline
hylang/vim-hy 2021-05-20 vim-hy
iamcco/coc-tailwindcss 2020-08-19 coc-tailwindcss
ibhagwan/fzf-lua 2022-02-05 fzf-lua
inkch/vim-fish 2021-05-21 vim-fish-inkch
is0n/fm-nvim 2022-02-05 fm-nvim
is0n/jaq-nvim 2021-12-18 jaq-nvim
ishan9299/modus-theme-vim 2021-11-09 modus-theme-vim
jakewvincent/mkdnflow.nvim 2022-02-04 mkdnflow-nvim
jakewvincent/texmagic.nvim 2021-09-01 texmagic-nvim
jameshiew/nvim-magic 2022-02-03 nvim-magic
jamestthompson3/nvim-remote-containers 2021-08-08 nvim-remote-containers
jbyuki/instant.nvim 2021-10-26 instant-nvim
jbyuki/nabla.nvim 2021-11-08 nabla-nvim
jbyuki/one-small-step-for-vimkind 2021-10-26 one-small-step-for-vimkind
jghauser/auto-pandoc.nvim 2021-06-14 auto-pandoc-nvim
jghauser/follow-md-links.nvim 2021-06-12 follow-md-links-nvim
jghauser/kitty-runner.nvim 2021-06-16 kitty-runner-nvim
jghauser/mkdir.nvim 2021-06-20 mkdir-nvim
jim-at-jibba/ariake-vim-colors 2021-02-23 ariake-vim-colors
johann2357/nvim-smartbufs 2021-06-14 nvim-smartbufs
jose-elias-alvarez/null-ls.nvim 2022-02-05 null-ls-nvim
jubnzv/mdeval.nvim 2021-10-02 mdeval-nvim
jubnzv/virtual-types.nvim 2022-01-08 virtual-types-nvim
jvgrootveld/telescope-zoxide 2021-10-21 telescope-zoxide
kana/vim-textobj-indent 2013-01-18 vim-textobj-indent
kazhala/close-buffers.nvim 2021-11-14 close-buffers-nvim
kdheepak/monochrome.nvim 2021-07-14 monochrome-nvim
klen/nvim-config-local 2021-12-29 nvim-config-local
konapun/vacuumline.nvim 2021-08-11 vacuumline-nvim
nvim-orgmode/orgmode 2022-01-27 orgmode
kvrohit/substrata.nvim 2022-01-20 substrata-nvim
kyazdani42/blue-moon 2021-12-05 blue-moon
ldelossa/vimdark 2022-02-02 vimdark
leafOfTree/vim-svelte-plugin 2021-11-29 vim-svelte-plugin
lewis6991/spellsitter.nvim 2022-01-28 spellsitter-nvim
lourenci/github-colors 2022-01-27 github-colors
luisiacc/gruvbox-baby 2022-01-29 gruvbox-baby
lukas-reineke/cmp-rg 2022-01-13 cmp-rg
luukvbaal/nnn.nvim 2022-01-15 nnn-nvim
m00qek/plugin-template.nvim 2022-01-05 plugin-template-nvim
madskjeldgaard/reaper-nvim 2021-01-29 reaper-nvim
marko-cerovac/material.nvim 2022-02-04 material-nvim
matbme/JABS.nvim 2021-09-22 JABS-nvim
mcchrish/zenbones.nvim 2022-01-31 zenbones-nvim
mfussenegger/nvim-treehopper 2021-12-20 nvim-treehopper
michaelb/sniprun 2022-02-03 sniprun
mizlan/iswap.nvim 2022-01-27 iswap-nvim
mjlbach/babelfish.nvim 2021-09-14 babelfish-nvim
mnacamura/iron.nvim 2021-12-19 iron-nvim-mnacamura
mnacamura/nvim-srcerite 2021-12-17 nvim-srcerite
mnacamura/vim-fennel-syntax 2021-07-08 vim-fennel-syntax
mnacamura/vim-r7rs-syntax 2021-07-09 vim-r7rs-syntax
monaqa/dial.nvim 2021-03-22 dial-nvim
monkoose/matchparen.nvim 2022-02-02 matchparen-nvim
ms-jpq/coq_nvim 2022-02-06 coq-nvim
nanotee/nvim-lsp-basics 2021-05-16 nvim-lsp-basics
nanotee/sqls.nvim 2022-02-06 sqls-nvim
nekonako/xresources-nvim 2021-11-23 xresources-nvim
nikvdp/neomux 2021-12-23 neomux
noib3/nvim-cokeline 2022-02-05 nvim-cokeline
norcalli/nvim-base16.lua 2019-10-16 nvim-base16-lua
notomo/cmdbuf.nvim 2022-01-10 cmdbuf-nvim
notomo/gesture.nvim 2022-01-04 gesture-nvim
novakne/kosmikoa.nvim 2021-11-19 kosmikoa-nvim
numToStr/Comment.nvim 2022-02-01 Comment-nvim
numToStr/Navigator.nvim 2021-11-18 Navigator-nvim
nvim-telescope/telescope-bibtex.nvim 2022-02-05 telescope-bibtex-nvim
nvim-telescope/telescope-media-files.nvim 2021-10-21 telescope-media-files-nvim
nxvu699134/vn-night.nvim 2021-07-24 vn-night-nvim
nyngwang/NeoRoot.lua 2022-01-24 NeoRoot-lua
ojroques/nvim-hardline 2022-02-01 nvim-hardline
ojroques/nvim-lspfuzzy 2022-01-16 nvim-lspfuzzy
p00f/cphelper.nvim 2022-02-03 cphelper-nvim
petertriho/cmp-git 2022-01-07 cmp-git
petertriho/nvim-scrollbar 2022-01-13 nvim-scrollbar
pianocomposer321/consolation.nvim 2021-09-01 consolation-nvim
pianocomposer321/yabs.nvim 2021-12-11 yabs-nvim
projekt0n/github-nvim-theme 2022-01-23 github-nvim-theme
pwntester/codeql.nvim 2022-01-14 codeql-nvim
pwntester/octo.nvim 2022-02-02 octo-nvim
quangnguyen30192/cmp-nvim-ultisnips 2022-01-31 cmp-nvim-ultisnips
rafaelsq/nvim-goc.lua 2022-01-20 nvim-goc-lua
rafcamlet/nvim-luapad 2021-12-29 nvim-luapad
rafcamlet/tabline-framework.nvim 2022-01-22 tabline-framework-nvim
raimon49/requirements.txt.vim 2021-12-04 requirements-txt-vim
ray-x/go.nvim 2022-02-02 go-nvim
ray-x/guihua.lua 2022-01-18 guihua-lua
ray-x/navigator.lua 2022-01-31 navigator-lua
renerocksai/telekasten.nvim 2022-01-24 telekasten-nvim
rhysd/vim-gfm-syntax 2021-10-04 vim-gfm-syntax
rktjmp/highlight-current-n.nvim 2021-10-26 highlight-current-n-nvim
rktjmp/hotpot.nvim 2022-01-02 hotpot-nvim
rktjmp/paperplanes.nvim 2022-02-05 paperplanes-nvim
rlane/pounce.nvim 2022-01-26 pounce-nvim
rmehri01/onenord.nvim 2022-01-08 onenord-nvim
rockerBOO/boo-colorscheme-nvim 2021-12-08 boo-colorscheme-nvim
rodrigore/coc-tailwind-intellisense 2021-09-07 coc-tailwind-intellisense
rose-pine/neovim 2022-02-04 rose-pine
s1n7ax/nvim-comment-frame 2021-09-14 nvim-comment-frame
s1n7ax/nvim-terminal 2021-11-12 nvim-terminal
sQVe/sort.nvim 2022-01-03 sort-nvim
saifulapm/chartoggle.nvim 2021-10-25 chartoggle-nvim
sainnhe/everforest 2022-02-04 everforest
savq/melange 2021-11-16 melange
savq/paq-nvim 2021-12-27 paq-nvim
seandewar/nvimesweeper 2021-09-07 nvimesweeper
sgur/vim-textobj-parameter 2017-05-16 vim-textobj-parameter
shaeinst/roshnivim-cs 2022-01-16 roshnivim-cs
sindrets/winshift.nvim 2021-11-15 winshift-nvim
skanehira/christmas.vim 2021-12-24 christmas-vim
startup-nvim/startup.nvim 2022-02-05 startup-nvim
stevearc/dressing.nvim 2022-02-02 dressing-nvim
stevearc/gkeep.nvim 2022-01-26 gkeep-nvim
stevearc/qf_helper.nvim 2022-01-28 qf-helper-nvim
svermeulen/vim-yoink 2021-09-15 vim-yoink
svermeulen/vimpeccable 2021-12-28 vimpeccable
tamago324/nlsp-settings.nvim 2022-02-02 nlsp-settings-nvim
tami5/lspsaga.nvim 2022-02-02 lspsaga-nvim
tamton-aquib/staline.nvim 2022-01-23 staline-nvim
tanvirtin/monokai.nvim 2022-01-29 monokai-nvim
tanvirtin/vgit.nvim 2022-02-04 vgit-nvim
terrortylor/nvim-comment 2022-01-04 nvim-comment
thaerkh/vim-workspace 2021-11-25 vim-workspace
themaxmarchuk/tailwindcss-colors.nvim 2021-12-24 tailwindcss-colors-nvim
theniceboy/nvim-deus 2021-08-26 nvim-deus
tiagovla/tokyodark.nvim 2022-01-19 tokyodark-nvim
titanzero/zephyrium 2021-12-28 zephyrium
tjdevries/astronauta.nvim [branch: edc19d30a3c51a8c3fc3f606008e5b4238821f1e] 2021-11-09 astronauta-nvim
tjdevries/express_line.nvim 2021-12-01 express-line-nvim
tjdevries/gruvbuddy.nvim 2021-04-15 gruvbuddy-nvim
tjdevries/vlog.nvim 2020-08-04 vlog-nvim
tveskag/nvim-blame-line 2021-07-27 nvim-blame-line
nvim-neorg/neorg 2022-02-05 neorg
williamboman/nvim-lsp-installer 2022-02-06 nvim-lsp-installer
windwp/nvim-projectconfig 2021-11-10 nvim-projectconfig
nvim-pack/nvim-spectre 2022-01-30 nvim-spectre
windwp/windline.nvim 2022-02-05 windline-nvim
winston0410/commented.nvim 2021-11-14 commented-nvim
xeluxee/competitest.nvim 2022-02-05 competitest-nvim
xiyaowong/nvim-cursorword 2021-12-24 nvim-cursorword
xiyaowong/nvim-transparent 2021-11-28 nvim-transparent
yashguptaz/calvera-dark.nvim 2021-08-13 calvera-dark-nvim
yonlu/omni.vim 2021-02-20 omni-vim
gitlab:yorickpeterse/nvim-pqf 2021-10-29 nvim-pqf
gitlab:yorickpeterse/nvim-window 2021-07-13 nvim-window

Contribution

How to add a new plugin

1. Add a new entry to manifest.txt

All Nix derivations of plugins found in pkgs/vim-plugins.nix are generated from manifest.txt, in which each line corresponds to each plugin. An entry is specified by

<entry> ::= [ <repo-type>  ":" ] <repo-full-name> [ ":"  [ <git-ref> ] [ ":" <attr-name> ] ]

<repo-type> ::= "github" | "gitlab"

<repo-full-name> ::= <owner-name> "/" <repo-name>
  • If <repo-type> is omitted, it defaults to GitHub. Only GitHub and GitLab are supported.
  • <git-ref> can be either branch name or commit hash. If omitted, the latest commit hash in the default branch will be used.
  • Attribute name of a plugin (pkgs.vimExtraPlugins.${attr-name}) is automatically determined from <repo-name> by default. If <attr-name> is set in an entry, it will replace the default name.

Examples:

  • foo/bar: a GitHub repo bar of owner foo, using default branch.
  • gitlab:foo/bar: a GitLab repo, using default branch.
  • foo/bar:dev: a GitHub repo, using dev branch.
  • foo/bar:97be0965f9a0944629ba67e5fd0b05b898d34e61: a GitHub repo, pinned to a commit 97be0965f9a0944629ba67e5fd0b05b898d34e61.
  • foo/bar::baz: a GitHub repo, using default branch, renamed to baz.

After adding your entry, run:

nix run .#update-vim-plugins -- lint

So that entries are checked and formatted.

2. Update Nix expression and README

Next, run this:

nix run .#update-vim-plugins

After that, pkgs/vim-plugins.nix and the plugin list in README.md are updated.

3. Override your plugin derivation in overrides.nix

In overrides.nix, you see something like

  {
    # ...

    lspactions = super.lspactions.overrideAttrs (_: {
      dependencies = with final.vimPlugins; [
        plenary-nvim
        popup-nvim
        self.astronauta-nvim
      ];
    });

    # ...
  }

Add your overrides here if needed.

4. Create a Pull Request

Anyone is welcome to add another plugin to this repo. Feel free to create a PR with your new plugins! In that case, make sure you commit manifest.txt, pkgs/vim-plugins.nix, and optionally overrides.nix if changed. README.md will be updated by GitHub Action so it is not mandatory.

License

MIT

nixpkgs-vim-extra-plugins's People

Contributors

alexnortung avatar bandithedoge avatar dependabot[bot] avatar m15a avatar mnacamura avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.