GithubHelp home page GithubHelp logo

redxtech / nixneovimplugins Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nixneovim/nixneovimplugins

0.0 0.0 0.0 6.81 MB

Makes all neovim plugins available in nix (Auto updated)

License: MIT License

Shell 0.22% Python 7.73% Nix 92.06%

nixneovimplugins's Introduction

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.
  • Sometimes, a new plugin has the same name as an existing one. In this case, we rename both plugins to <plugin-name>-<owner>, introducing a breaking change. Therefore, again: We recommend using NixNeovim, and not this repo directly.

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.yaml:

The new yaml format has the following format

- owner: nvim-telescope
  repo: telescope.nvim
  # the following keys are optional
  branch: ... # explicitly select branch
  custom_name: ... # set custom name, used to fix name clashes
  license: ... # specify license
  commit: ... # specify commit to use, can be used when newest version is broken
  warning: ... # add a waning that will be displayed when using the plugin, will also be visible in plugins.md

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.yaml
  • After all checks have passed, I will merge your change.

I am happy for any contribution. :)

How to remove a new plugin

this contains old information. Just open an issue for now

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.yaml

Credits

This is originally based on work by m15a

nixneovimplugins's People

Contributors

jooooscha avatar joooscha avatar m15a avatar mnacamura avatar dependabot[bot] avatar thedaringdev avatar hmajid2301 avatar moritzboehme avatar soispha avatar keidrych avatar yannipapandreou avatar tornaxo7 avatar jalil-salame avatar andrewr94 avatar emilios1995 avatar vnuxa avatar alyzmal avatar jack77793 avatar blackhole1504 avatar heshdotcc avatar bandithedoge avatar embie27 avatar kkharji 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.