at master 1.6 kB view raw
1# TODO check that no license information gets lost 2{ 3 callPackage, 4 config, 5 lib, 6 vimUtils, 7 vim, 8 llvmPackages, 9 neovimUtils, 10}: 11 12let 13 14 inherit (vimUtils.override { inherit vim; }) 15 buildVimPlugin 16 ; 17 18 inherit (lib) extends; 19 20 initialPackages = self: { }; 21 22 cocPlugins = callPackage ./cocPlugins.nix { 23 inherit buildVimPlugin; 24 }; 25 26 luaPackagePlugins = callPackage ./luaPackagePlugins.nix { 27 inherit (neovimUtils) buildNeovimPlugin; 28 }; 29 30 nodePackagePlugins = callPackage ./nodePackagePlugins.nix { 31 inherit buildVimPlugin; 32 }; 33 34 nonGeneratedPlugins = 35 self: super: 36 let 37 root = ./non-generated; 38 call = name: callPackage (root + "/${name}") { }; 39 in 40 lib.pipe root [ 41 builtins.readDir 42 (lib.filterAttrs (_: type: type == "directory")) 43 (builtins.mapAttrs (name: _: call name)) 44 ]; 45 46 plugins = callPackage ./generated.nix { 47 inherit buildVimPlugin; 48 inherit (neovimUtils) buildNeovimPlugin; 49 }; 50 51 corePlugins = callPackage ./corePlugins.nix { }; 52 53 # TL;DR 54 # * Add your plugin to ./vim-plugin-names 55 # * run ./update.py 56 # 57 # If additional modifications to the build process are required, 58 # add to ./overrides.nix. 59 overrides = callPackage ./overrides.nix { 60 inherit llvmPackages; 61 }; 62 63 aliases = if config.allowAliases then (import ./aliases.nix lib) else final: prev: { }; 64in 65lib.pipe initialPackages [ 66 (extends plugins) 67 (extends cocPlugins) 68 (extends luaPackagePlugins) 69 (extends nodePackagePlugins) 70 (extends nonGeneratedPlugins) 71 (extends corePlugins) 72 (extends overrides) 73 (extends aliases) 74 lib.makeExtensible 75]