at 22.05-pre 47 lines 1.3 kB view raw
1# TODO check that no license information gets lost 2{ callPackage, config, lib, vimUtils, vim, darwin, llvmPackages, luaPackages }: 3 4let 5 6 inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix vimGenDocHook; 7 8 inherit (lib) extends; 9 10 initialPackages = self: { 11 # Convert derivation to a vim plugin. 12 toVimPlugin = drv: 13 drv.overrideAttrs(oldAttrs: { 14 15 nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [ vimGenDocHook ]; 16 passthru = (oldAttrs.passthru or {}) // { 17 vimPlugin = true; 18 }; 19 }); 20 }; 21 22 plugins = callPackage ./generated.nix { 23 inherit buildVimPluginFrom2Nix; 24 }; 25 26 # TL;DR 27 # * Add your plugin to ./vim-plugin-names 28 # * run ./update.py 29 # 30 # If additional modifications to the build process are required, 31 # add to ./overrides.nix. 32 overrides = callPackage ./overrides.nix { 33 inherit (darwin.apple_sdk.frameworks) Cocoa CoreFoundation CoreServices; 34 inherit buildVimPluginFrom2Nix; 35 inherit llvmPackages luaPackages; 36 }; 37 38 aliases = if (config.allowAliases or true) then (import ./aliases.nix lib) else final: prev: {}; 39 40 extensible-self = lib.makeExtensible 41 (extends aliases 42 (extends overrides 43 (extends plugins initialPackages) 44 ) 45 ); 46in 47 extensible-self