m15a/flake-awesome-neovim-plugins

github github
externalos-specific
stars 36
issues 1
subscribers 1
forks 10
CREATED

2021-12-11

UPDATED

7 hours ago


flake-awesome-neovim-plugins

Nix flake of Awesome Neovim plugins.

CI Awesome Neovim plugins FlakeHub

Daily stats

Description

This repository is a mirror of Awesome Neovim, in a sense that it as a Nix flake provides all Neovim plugins in the Awesome Neovim collection.

Packages are automatically updated once every day using GitHub Actions. This is done by parsing the README.md and collecting all plugins manifested therein.

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

Flake

The overlay adds Awesome Neovim plugins to pkgs.awesomeNeovimPlugins. Use it as you normally do, like so:

{
  inputs = {
    flake-utils.url = "github:numtide/flake-utils";
    awesome-neovim-plugins.url = "github:m15a/flake-awesome-neovim-plugins";
  };
  outputs = { self, nixpkgs, flake-utils, awesome-neovim-plugins, ... }:
  flake-utils.lib.eachDefaultSystem (system:
  let
    pkgs = import nixpkgs {
      inherit system;
      overlays = [ awesome-neovim-plugins.overlays.default ];
    };
  in {
    packages = {
      your-neovim = pkgs.neovim.override {
        configure = {
          packages.example = with pkgs.awesomeNeovimPlugins; {
            start = [
              ataraxis-lua
            ];
          };
        };
      };
    };
  });
}

FlakeHub

Alternatively, you can use this flake via FlakeHub. See instructions at the FlakeHub page.

Contributing

Add a new plugin to this flake

Send a pull request to Awesome Neovim in which your favorite plugin is registered in their README.md. Done? Then, wait until the next plugin updating workflow runs.

Remove a plugin from this flake

Again, send a pull request to Awesome Neovim in which your plugin is removed from their README.md.

Fix build of a plugin

Send a pull request to this repository in which your fix is applied in ./nix/overrides.nix.

Licenses

Unless otherwise stated, this software is licensed under the BSD 3-clause license.

A part of ./nix/overrides.nix is modification from the original Nixpkgs' code, which is licensed under the MIT license. See the license terms in comments in the file.

./data/plugins-info/awesome-neovim.json is collected from various code hosting services by using their API. Each part of the data has respective copyright and permission to use. For more information about the permissible data use and content rights, see each service's terms of use:

Datasets and images in ./data/stats/ are contributed by the same authors declared in the software license, and licensed under the Creative Commons Attribution-ShareAlike 4.0 International license.