Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Builtin package manager for plugins #20893

Open
tamis-laan opened this issue Oct 31, 2022 · 5 comments
Open

Builtin package manager for plugins #20893

tamis-laan opened this issue Oct 31, 2022 · 5 comments
Labels
enhancement feature request plugin plugins and Vim "pack"
Milestone

Comments

@tamis-laan
Copy link

tamis-laan commented Oct 31, 2022

It would be so nice if neovim came with a build in package manager. Currently I'm using vim-plug but this has to be installed before my vimrc works.

https://github.com/junegunn/vim-plug

@tamis-laan tamis-laan added the enhancement feature request label Oct 31, 2022
@tamis-laan tamis-laan changed the title [feature] Build in packaga manager for plugins [feature] Build in package manager for plugins Oct 31, 2022
@tamis-laan tamis-laan changed the title [feature] Build in package manager for plugins Build in package manager for plugins Oct 31, 2022
@ObserverOfTime
Copy link
Contributor

Packages are built-in and you can use git submodules to manage them if you don't want to install a plugin for it.

@justinmk

This comment was marked as outdated.

@justinmk justinmk closed this as completed Nov 1, 2022
@justinmk justinmk added the closed:duplicate issues that are closed as duplicates of other issues label Nov 1, 2022
@justinmk justinmk reopened this Feb 14, 2023
@justinmk justinmk changed the title Build in package manager for plugins Builtin package manager for plugins Feb 14, 2023
@justinmk justinmk removed the closed:duplicate issues that are closed as duplicates of other issues label Feb 14, 2023
@justinmk justinmk added this to the backlog milestone Feb 14, 2023
@llllvvuu

This comment was marked as resolved.

@justinmk justinmk added the plugin plugins and Vim "pack" label Sep 18, 2023
@justinmk
Copy link
Member

justinmk commented Sep 18, 2023

Problem

  1. Currently users must look for a plugin manager and figure out how to install it.
    • Nvim documentation should be able to give a one-liner to install (non-builtin) plugin managers and plugins.
  2. Lack of a declarative way to specify plugins.
    • Lets Nvim reason about dependency ordering / transitivity.
    • Lets crawlers build a package index.
    • packspec adds potential to leverage NPM tooling (and possibly infrastructure).

Goals

These problems are in-scope (everything else is out of scope):

  1. Include a minimal builtin plugin manager.
    • Users shouldn't need to look for a plugin manager online and install it.
    • Users can easily install another plugin manager with a one-liner.
  2. Must be minimal. One file, 500-1000 lines of code.
    • If users want advanced features they must install an advanced plugin manager.
  3. Supports packspec (declarative way to fetch plugins) + hooks.
    • Need to finish the packspec story... https://github.com/neovim/packspec/
    • Define a convention for hooks:
      • post-install: one-time, just after a plugin is installed.
      • pre-activate: per-session, just before a plugin is loaded/required.
      • post-activate
  4. "Provider" model: other plugin managers can provide plugin management (:packinstall, vim.plugins(), etc/whatever).
  5. Future goals (not required for initial implementation):
    1. Nvim should be able to list plugins from a plugin index like https://dotfyle.com/neovim/plugins/trending or whatever.

Counterpoints

Proposal

@llllvvuu

This comment was marked as resolved.

@neovim neovim locked as off-topic and limited conversation to collaborators Feb 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement feature request plugin plugins and Vim "pack"
Projects
None yet
Development

No branches or pull requests

4 participants