Nix flake of miscellaneous Vim/Neovim plugins.
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.
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
];
};
};
};
};
});
}
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
];
};
You can also use it via NUR at nur.repos.m15a.vimExtraPlugins
, see the package list.
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 |
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 repobar
of ownerfoo
, using default branch.gitlab:foo/bar
: a GitLab repo, using default branch.foo/bar:dev
: a GitHub repo, usingdev
branch.foo/bar:97be0965f9a0944629ba67e5fd0b05b898d34e61
: a GitHub repo, pinned to a commit97be0965f9a0944629ba67e5fd0b05b898d34e61
.foo/bar::baz
: a GitHub repo, using default branch, renamed tobaz
.
After adding your entry, run:
nix run .#update-vim-plugins -- lint
So that entries are checked and formatted.
Next, run this:
nix run .#update-vim-plugins
After that, pkgs/vim-plugins.nix
and the plugin list in README.md
are updated.
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.
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.