jalil-salame / NixNeovimPlugins

Makes all neovim plugins available in nix (Auto updated)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

All vim plugins, ready to go

This repo auto generates nix packages for vim/neovim plugins. Packages are automatically updated twice per week using a GitHub Actions. Plugins are fetched from the manifest.txt and awesome-neovim repo.

This is a fork of this repo; however, we fetch all additions from the original repo, so we will never have less plugins. Further, the original deletes plugins that are available in the nixpkgs. We, instead, try to assemble a list of all available plugins. Therefore, to access plugins you will never have to search in two places.

This repo can be used as a stand-alone, by adding it to your inputs. However, we recommend to use NixNeovim modules instead, and use this only when you need a plugins, which does not have a module, yet.

Available plugins

The plugins.md contains an auto-generated list of all available plugins.

Usage

  • We recommend using NixNeovim, and only access the plugins directly when they do not have a module in NixNeovim.

However, you can also use this repo without NixNeovim: To access the plugins, you need to add the overlay. The overlay adds extra Vim plugins to pkgs.vimExtraPlugins. First, add this repo to your inputs:

inputs.nixneovimplugins.url = github:jooooscha/nixpkgs-vim-extra-plugins

Next, apply the provided overlay:

nixpkgs.overlays = [
  inputs.nixneovimplugins.overlays.default
];

Finally, you can add the packages to your vim/neovim config. For example you can use NixNeovim or you can add the plugins directly:

 programs.neovim = {
   plugins = [
     pkgs.vimExtraPlugins.nvim-colorizer-lua
   ];
 }

More info on using neovim with nix can be found here: NixOS Neovim

Contribution

How to add a new plugin

1. Add the plugin to manifest.txt:

# Examples

haringsrob/nvim_context_vt
sourcehut:henriquehbr/ataraxis.lua
gitlab:yorickpeterse/nvim-pqf
williamboman/mason.nvim:45b9a4da776d9fb017960b3ac7241161fb7bc578 
foo/bar::baz                   --> renamed to baz
foo/bar:dev                    --> using dev branch

Supported are Github (default), SourceHut, and GitLab.

2. Create a Pull Request

  • Create a pull request with the changed manifest.txt (and blacklist.txt if neccessary).
  • A GitHub action will check your contribution and generate all neccessary nix code for your new plugin. It will also take care of sorting and cleaning the manifest.txt
  • After all checks have passed, I will merge your change.

I am happy for any contribution. :)

How to remove a new plugin

Copy the entry from manifest.txt to blacklist.txt and create a PR. The GitHub Actions will do the rest, including removing the entry from manifest.txt

Credits

This is originally based on work by m15a

About

Makes all neovim plugins available in nix (Auto updated)

License:MIT License


Languages

Language:Nix 92.6%Language:Python 7.2%Language:Shell 0.2%