summary refs log tree commit diff
path: root/pkgs/applications/editors/vim/plugins/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/editors/vim/plugins/default.nix')
-rw-r--r--pkgs/applications/editors/vim/plugins/default.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/applications/editors/vim/plugins/default.nix b/pkgs/applications/editors/vim/plugins/default.nix
new file mode 100644
index 00000000000..9bfcf443186
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/default.nix
@@ -0,0 +1,47 @@
+# TODO check that no license information gets lost
+{ callPackage, config, lib, vimUtils, vim, darwin, llvmPackages, luaPackages }:
+
+let
+
+  inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix vimGenDocHook;
+
+  inherit (lib) extends;
+
+  initialPackages = self: {
+    # Convert derivation to a vim plugin.
+    toVimPlugin = drv:
+      drv.overrideAttrs(oldAttrs: {
+
+        nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [ vimGenDocHook ];
+        passthru = (oldAttrs.passthru or {}) // {
+          vimPlugin = true;
+        };
+      });
+  };
+
+  plugins = callPackage ./generated.nix {
+    inherit buildVimPluginFrom2Nix;
+  };
+
+  # TL;DR
+  # * Add your plugin to ./vim-plugin-names
+  # * run ./update.py
+  #
+  # If additional modifications to the build process are required,
+  # add to ./overrides.nix.
+  overrides = callPackage ./overrides.nix {
+    inherit (darwin.apple_sdk.frameworks) Cocoa CoreFoundation CoreServices;
+    inherit buildVimPluginFrom2Nix;
+    inherit llvmPackages luaPackages;
+  };
+
+  aliases = if (config.allowAliases or true) then (import ./aliases.nix lib) else final: prev: {};
+
+  extensible-self = lib.makeExtensible
+    (extends aliases
+      (extends overrides
+        (extends plugins initialPackages)
+      )
+    );
+in
+  extensible-self