123456789101112131415161718192021222324252627282930313233343536373839 |
- { fetchFromGitHub, fetchpatch, buildNeovimPlugin }:
- let
- plugins = builtins.fromJSON (builtins.readFile ./sources.json);
- overrides = {
- "leafgarland/typescript-vim" = {
- patches = [
- # make compiler build entire project
- ./typescript-vim-compiler.patch
- ];
- };
- "nvim-telescope/telescope-fzf-native.nvim" = {
- dontBuild = false;
- };
- };
- buildPlugin = name: spec:
- let
- nameParts = builtins.split "/" name;
- owner = builtins.head nameParts;
- repo = builtins.elemAt nameParts 2;
- in
- buildNeovimPlugin ({
- name = repo;
- src = fetchFromGitHub {
- inherit owner repo;
- inherit (spec) rev sha256;
- };
- passthru = {
- optional = spec.optional or false;
- };
- dontBuild = true;
- } // (overrides.${name} or {}));
- in
- builtins.mapAttrs buildPlugin plugins
|