Neovim Pack

(neovim.io)

304 points by k2enemy2 days ago

32 comments

  • babalark2 days ago
    I&#x27;m really looking forward to this. I hope it helps push the nvim plugin community into lazy loading plugins by default instead of relying on a complex plugin manager like lazy. The nvim docs have a little note related to this[1].<p>I&#x27;m quite a fan of the nvim-neorocks plugin best practices as well[2]. In fact it seems like part of them got merged recently[3] hahaha.<p>[1] <a href="https:&#x2F;&#x2F;neovim.io&#x2F;doc&#x2F;user&#x2F;lua-plugin.html#lua-plugin-lazy" rel="nofollow">https:&#x2F;&#x2F;neovim.io&#x2F;doc&#x2F;user&#x2F;lua-plugin.html#lua-plugin-lazy</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;nvim-neorocks&#x2F;nvim-best-practices" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nvim-neorocks&#x2F;nvim-best-practices</a><p>[3] <a href="https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;pull&#x2F;29073" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;pull&#x2F;29073</a>
    • WhyNotHugo2 days ago
      The neovim model of using setup() makes lazy loading a bit trickier than traditional Vim.<p>Lazy loading is much easier with Vim’s model of configuring by setting variables. You just set variables in init.vim, and the plugin can auto-load when one of its functions is executed.<p>With lua this requires more orchestration; if many autocmd refer to the same plugin, they all need to explicitly remember to call setup().
      • mrcjkb2 days ago
        Neovim provides the same mechanisms as Vim for Lua plugins. The problem (and part of my motivation for writing the nvim-best-practices document) is that not enough plugins use them.<p>Edit: The Neovim setup antipattern is the Lua equivalent of writing Vimscript functions in autoload and asking users to call them in their configs instead of doing so automatically.
        • thayne2 days ago
          I don&#x27;t know that I would call it an anti-pattern. It has several advantages over using a global variable:<p>- it avoids needing to create a global variable in the top level namespace<p>- if the setup is called lazily, then the user config can also perform other lazy operations at configuration time, including requiring other lua modules<p>- it allows you to pass a config object or function to your package manager, thus keeping your configuration of a plugin, and the code to require the plugin in the same place.<p>- it doesn&#x27;t have the problem that you have to make sure you set the global variable before the plugin is loaded<p>- it is simpler to handle reconfiguring at runtime. The user just calls setup again. Whereas with a global variable, you don&#x27;t know if&#x2F;when the config has changed
          • mrcjkb2 days ago
            - It&#x27;s not at the top level namespace, it&#x27;s usually in the `vim.g` or `vim.b` namespace. There&#x27;s no more namespacing than with a Lua module + function.<p>- global configuration variables don&#x27;t have to be tables. They can be a union of `table | fun():table`, which enables laziness. [rustaceanvim does this, for example](<a href="https:&#x2F;&#x2F;github.com&#x2F;mrcjkb&#x2F;rustaceanvim&#x2F;blob&#x2F;12504405821c05874d2d1f6b5ec919f9808e2c99&#x2F;lua&#x2F;rustaceanvim&#x2F;config&#x2F;internal.lua#L10" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mrcjkb&#x2F;rustaceanvim&#x2F;blob&#x2F;12504405821c0587...</a>).<p>- lazy.nvim&#x27;s heuristics to auto-detect and invoke `setup` functions and pass &quot;config objects&quot; are a hack that could just as easily have been implemented around global config variables. This is a symptom of the problem, not a solution.<p>- If you don&#x27;t need any code to require the plugin, there&#x27;s also no need to keep the configuration and the code to require it in the same place.<p>- If a plugin is implemented correctly (by not making lazy loading the responsibility of the user), there&#x27;s no need to worry about when the user sets the global variable.<p>- Most plugins&#x27; `setup` functions are idempotent. If you want to provide the ability to reconfigure your plugin at runtime, you can provide a `reload(opts)` function that sets the global config variable and then reinitialises the plugin. Or, you could add a metatable to the config variable that triggers a reload if the plugin has already been initialised. There&#x27;s hardly ever a valid reason to force the coupling of configuration and initialisation on your plugin&#x27;s users.
      • kzrdude2 days ago
        The settings variable convention is not good, uses random variable prefixes. A new convention is needed, then the ball can start rolling on that. Until then the lazy nvim and&#x2F;or setup paradigm is useful.
        • mrcjkb2 days ago
          You don&quot;t have to use a separate variable prefix for each config option. A plugin&#x27;s config variable can just be a table&#x2F;dictionary.
          • kzrdude2 days ago
            We need a uniform convention for this. Hopefully then vim.pack enforces something.
      • saint_yossarian2 days ago
        AFAIK using setup() is actually a cargo-cult practice and discouraged by the Neovim maintainers.
        • kzrdude2 days ago
          echasnovski seems to like it (and he&#x27;s a maintainer I think)
          • mrcjkb2 days ago
            His use case is mini.nvim, a huge bundle of plugins where you most likely don&#x27;t want each plugin initialising automatically.<p>He and I are on very opposite ends of the &quot;setup spectrum&quot;, but we have found common ground, which is that you shouldn&#x27;t cargo cult it: <a href="https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;pull&#x2F;35600&#x2F;files" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;pull&#x2F;35600&#x2F;files</a>
  • bikeshaving2 days ago
    I feel like I have to migrate to a new (Neo)Vim package manager about once every 3 or so years. I think my path has been: pathogen -&gt; Vundle -&gt; vim-plug -&gt; lazy.nvim. Hopefully, this the last VIM package manager?
    • trip-zip2 days ago
      Plug still gets the job done imo. But I&#x27;m also hopeful that since this one is builtin to the language it&#x27;ll likely be end-game worthy for lots of users. I have tried it out and had a painless experience though I never did anything fancy like lazy offered.
    • yoyohello132 days ago
      Luckily this is the built in, official, blessed one. So it’s likely going to be the most widely supported and available. (Maybe not most feature rich though)
    • jauntywundrkind2 days ago
      Lazy.nvim seems pretty triumphant. But yeah a lot of others are also supported by various plugins. Some unity would be nice, abstractly. But man, it&#x27;s hard to have faith we&#x27;re going to get as anything good fast and reliable as lazy.nvim. it could happen though!
      • Lio2 days ago
        Every plugin manager I&#x27;ve used since Pathogen has seemed &quot;triumphant&quot; at the time. I think they&#x27;ve all been reliable enough and everytime I think well this will be the last time I change that.<p>I currently have a Packer config on one machine and Lazy on another and honestly don&#x27;t know why I bothered switching to Lazy. What I really crave is simplicity so if NeoVim builds every thing in I think it will be good enough for me.
        • Nilithus2 days ago
          I switched from packer to lazy after I noticed the maintainer of packer stopped using packer in his neovim config. Also I believe he has now officially marked it as unmaintained and recommends lazy or pckr
    • 0x4572 days ago
      I started using nixvim. I think I gave up around vim-plug. Trying to maintain reliably working config across multiple machines and OS was a nightmare.
      • schonfinkel2 days ago
        I&#x27;ve been using the &quot;old school&quot; approach of just leveraging neovim + huge list of `vimPlugins` in my Nix config, makes you about the myriad of package managers for vim&#x2F;neovim.<p>Replacing it with nixvim is on my forever growing todo list.
      • colordrops2 days ago
        Nixvim is great. I got it configured with a flake and add it to all my machines. Nix lang is really suitable to composing neovim config.
        • 0x4572 days ago
          Yup, I have a giant flake that configures all of my home linux and macos machines. Every machine gets more or less the same home-manager configuration applied, nixvim is split into its own flake.
    • naniwaduni2 days ago
      I tossed pathogen in favor of git submodules in ~&#x2F;.vim&#x2F;pack&#x2F;*&#x2F;start&#x2F; in 2017 and it&#x27;s still like that.
      • rand0m4r2 days ago
        same here - works great and never needed anything else.
        • freedomben2 days ago
          Same. I love vim and have no plans to leave, but I have no interest in being on the upgrade treadmill when my current system isn&#x27;t broken. I&#x27;ve also had plugin updates break stuff, and it&#x27;s a simple rollback in git back to a working state. I&#x27;m not sure how hard that is with these various plugin managers, but it&#x27;s quite simple with git and I don&#x27;t have to learn yet another tool&#x2F;way of doing things.
    • motiejus2 days ago
      in Nix it&#x27;s the same for as long as I remember, both on NixOS and nix-managed home-manager on MacOS and Linux:<p><pre><code> neovim = { enable = true; vimAlias = true; vimdiffAlias = true; defaultEditor = true; plugins = [ pkgs.vimPlugins.fugitive pkgs.vimPlugins.fzf-vim pkgs.vimPlugins.vim-gh-line pkgs.vimPlugins.vim-gutentags pkgs.vimPlugins.nvim-lspconfig pkgs.pkgs-unstable.vimPlugins.vim-go pkgs.pkgs-unstable.vimPlugins.zig-vim ]; extraConfig = builtins.readFile .&#x2F;vimrc; extraLuaConfig = builtins.readFile (pkgs.replaceVars .&#x2F;dev.lua { inherit (pkgs) ripgrep; }).outPath; }</code></pre>
    • Aissen2 days ago
      Just looked at my (private) dotfiles git history<p>- pathogen in 2011<p>- vundle in 2013<p>- vim-plug in 2017<p>Haven&#x27;t moved since, Plug still does the job, even after I moved to neovim in 2021. Will probably move to the new built-in package manager once the dust has settled.
    • lawn2 days ago
      This is the FOMO speaking. You don&#x27;t have to switch if you don&#x27;t want to.
      • bravetraveler2 days ago
        +1. Configured my plugins years ago and have not cared about the mechanism at all. I might even have confused things and landed on two. Whatever. The result is what matters: I have extensions.<p>In the exceedingly-rare event I <i>do</i> want to add one... overwhelmed with choice. &quot;Have to&quot; is entirely self-imposed
    • f311a2 days ago
      New package manager is pretty slow right now, it&#x27;s like 200ms to load nvim with lazy vim vs 1 sec with Pack.
    • rapind2 days ago
      I’m literally just using git with vim.
      • leephillips2 days ago
        Me too. I don’t understand why people think they need plugin managers. I just git clone the plugin into blah&#x2F;blah&#x2F;start and if I feel like updating one I do a git pull.
      • gitaarik2 days ago
        How do you keep your plugins up to date?
        • tasuki2 days ago
          Why would you want to keep your plugins up to date? How do you prevent breakage?<p>I update my plugins when I want&#x2F;need to.
          • freedomben2 days ago
            Exactly. I update if I want a new feature or bug fix, but other than that I love the predictability of knowing nothing has changed, and when it does, exactly what changed. Being able to `git diff` and see what&#x27;s new is wonderful
            • vasac2 days ago
              How many plugins do you use? I probably have at least 70–80. Tracking what’s changed would be a job in itself, so I just update all plugins regularly, the same way I update IntelliJ IDEA, Homebrew, or Linux packages. If a package breaks often, then I (and most other people) simply stop using it.
              • tasuki1 day ago
                &gt; I probably have at least 70–80. Tracking what’s changed would be a job in itself, so I just update all plugins regularly<p>You and me have completely the opposite approach. You install everything you can get your hands on, I regularly prune my unused plugins to avoid bloat. I don&#x27;t track what&#x27;s changed: if I&#x27;m happy with a 10 year old version of a plugin, I don&#x27;t see why I should update it.<p>&gt; If a package breaks often, then I (and most other people) simply stop using it.<p>Unless there&#x27;s a specific error message, how do you even know which package is responsible for the breakage? Ie a new visual glitch starts happening out of nowhere.
                • freedomben1 day ago
                  I do the same thing. I have maybe 7 or 8 that I use, favoring built in functionality even if it&#x27;s interior to what a plug-in might offer
        • recursivecaveat2 days ago
          I recently switched to lazy because I wanted to experiment with some more complex plugins, but the answer is just: I didn&#x27;t keep them up to date. If you&#x27;re using basic text-oriented stuff like fzf or surround how often is it going to improve in a meaningful way once it has reached its fully-formed state? If it did get a noticeable update its probably more likely to annoy me by breaking my config or muscle memory than anything.
        • bayesianbot2 days ago
          Am I the only one who thinks the way plugins are updated in lazy.nvim (and probably others) is a bit insane? It seems to just pull the latest commits. Every time I update, I feel one rogue commit away from someone stealing my keys. It definitely feels like the riskiest thing I do on my system. Or have I misunderstood something?
          • behnamoh2 days ago
            Thanks, new fear unlocked for me :&#x27;)<p>For me, lazy.nvim doesn&#x27;t pull the latest commits automatically. I have to &lt;leader&gt;-L and SHIFT-U it. And I don&#x27;t do it often exactly because if there&#x27;s an issue with the plugins I hope it&#x27;s caught by others and addressed before I update mine.
          • sim7c002 days ago
            you are right to be worried about such practices. this is why i avoid these things entirely. its a bit more hastle but a lot less risk. once you have a good config u can just roll with that anyhow. but i guess in the same vein i dont use a lot of plugins.<p>the nr of times now people have been owned by rogue plugins via editors is rising each day...
          • gitaarik2 days ago
            So you mean you review all the plugin code before you add it? And when there&#x27;s an update you review the changes?
            • bayesianbot2 days ago
              So far I’ve just YOLO&#x27;d it. But if I install other software directly from git and the source isn’t fully reliable, I’ll usually at least check recent changes, or have codex take a look through the source, just like I read through PKGBUILDs when installing from AUR. It feels crazy that I then update LazyVim and suddenly pull in 150 new commits, some just minutes old, all with free access to my system.
            • recursivecaveat2 days ago
              If you manual update infrequently you are leaving a period for other people to get burned and flag issues before you pull the change, even if you don&#x27;t look into a thing yourself.
              • ratrocket2 days ago
                If your update is the simplest version, a &quot;git pull&quot; -- then you&#x27;re incorporating commits that have not &quot;stewed&quot; long enough for anyone to be burned. You might win the lucky ticket! (Saying this as someone who rarely updates nvim plugins, out of forgetfulness, not principle, and when they are updated I believe it IS a simple &quot;git pull&quot;...)
              • gitaarik2 days ago
                With a plugin manager you can also update infrequently
            • freedomben2 days ago
              I mostly do, yes. There are exceptions for very mainstream and big plugins, but for the most part I do at least skim the new plugin code before committing it to my dotfiles repo. A nice thing about this ecosystem is for the most part, things don&#x27;t change that quickly&#x2F;often, and big refactors are quite rare
        • rapind2 days ago
          I don&#x27;t really. It&#x27;s not like I use that many, and they are all sort of &quot;complete&quot;. This isn&#x27;t JS where you need to update and change your libraries every 5 minutes.
          • root_axis2 days ago
            The same logic applies to js. vim plugins see updates on a weekly basis, you don&#x27;t have to upgrade anything if what you have works for you.
        • wffurr2 days ago
          I can’t recall the last time I updated a plugin. They are all working just fine.
          • gitaarik2 days ago
            I add new language support from time to time. And sometimes I want to update a plugin because of a fix or new feature support.
          • kzrdude2 days ago
            I needed to update the lot when upgrading from neovim 0.10 to 0.11.x
        • t_mahmood2 days ago
          Don&#x27;t know about op, I had a script that would go through each plugin folder, check if it was a git folder, and pulled.<p>Now I use vimplug though
          • porridgeraisin2 days ago
            <p><pre><code> git submodule update</code></pre>
            • t_mahmood2 days ago
              Hmm, when I set it up, mercury was a thing, so, the script handled both.<p>And, also, I was young, and that made me feel good :D
        • Piraty2 days ago
          git pull. too often i found breake so i inspect git-log message prior to update, git-bisect came in handy once
        • OJFord2 days ago
          &#x27;using git&#x27;
          • dkdcio2 days ago
            what’s the issue? you just git clone the repo into the correct directory
            • OJFord2 days ago
              There is no issue? I&#x27;m answering the question. This is how I do it too.<p>(There&#x27;s sort of an issue in that I&#x27;d prefer to get it in neovim&#x2F;lua, but that&#x27;s not the point here.)
              • dkdcio2 days ago
                ohhh I misread what you were replying to! my bad
            • gitaarik2 days ago
              Yeah and if you have 10 plugins you have to go into each folder and git pull. Then you might want to write a script for that. Or just use a plugin manager ;)
              • freedomben2 days ago
                I just wrote a simple bash script that has an array at the top with all the git remotes, and it iterates through them and git pulls (or clones if it doesn&#x27;t exist yet). Took me like 10 minutes to write ~15 years ago and hasn&#x27;t needed any changes. I can also trivially add a new entry to the array if I want to add a new plugin, or delete one if I&#x27;m not using it anymore. Then I also have a history of everything that changed so I can easily roll back if something breaks (which has happened several times)
              • dboon2 days ago
                git submodule update —init
                • gitaarik2 days ago
                  Yeah, I also used submodules first. But removing a git submodule is a bit of a pain. Like 3 or 4 steps or something, which I usually need to look up how to do it again. And if you&#x27;re experimenting with new plugins, trying them out, installing them and then removing them again, it&#x27;s a lot easier with a plugin manager.
    • sbinnee2 days ago
      I have been staying on vim-plug where everyone seems to be moving on to lazy.vim. I was considering a weekend to migrate to lazy.vim sometime. But with this news, I might just have to wait for this plugin manager to drop.
    • ComputerGuru2 days ago
      Why? I’ve been using dein since it was released and haven’t needed to switch to anything (though I’ve noticed the momentum shifts quickly between different ones).
    • burnt-resistor2 days ago
      Similar here too. I&#x27;m on the lazy.nvim train too because it&#x27;s componentized, powerful, and scalable. It would take me ages to get all of the stuff going that Just Works™ (pretty much) OOTB. Yes, even Copilot if you&#x27;re into that sort of kinky code completion sharing with OpenAI&#x2F;Microsoft everything you type.
      • azemetre2 days ago
        I recently moved away from lazy.nvim to using vim.pack. You can check out my PR here:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;azemetre&#x2F;dotfiles&#x2F;pull&#x2F;61&#x2F;files" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;azemetre&#x2F;dotfiles&#x2F;pull&#x2F;61&#x2F;files</a><p>It was worth it to me because I never relied on many features of lazy.nvim. The benefit of the approach linked in the PR is that it also defer&#x27;s loading packages as well. The only one I initially load is alpha.nvim (a dashboard), everything else gets deferred. This brought down my startup time from around 300ms to sub 100ms.
        • qiine2 days ago
          Just wanted to say I snatched your autocmd &quot;go to last loc when opening a Buffer&quot;<p>That&#x27;s handy!
          • azemetre2 days ago
            No problem! One of my favorite things about vim is how modular it is and how simple it is to extend it too.
    • film422 days ago
      I think I update Vundle like once every 3 years.
    • theflyinghorse2 days ago
      You&#x27;re using an editor that is built to be configurable for people who enjoy endless configuration. This will not be the last config manager. You might as well ask JS community if Nextjs is the last JS framework
      • amelius2 days ago
        Yeah, this is like asking if &quot;uv&quot; will be the last package manager for Python.
  • azemetre2 days ago
    If it helps any neovimmers I recently migrated away from lazy.nvim to just using vim.pack:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;azemetre&#x2F;dotfiles&#x2F;pull&#x2F;61&#x2F;files" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;azemetre&#x2F;dotfiles&#x2F;pull&#x2F;61&#x2F;files</a><p>I have had zero issues thus far, also don&#x27;t use too many plugins (like 50ish). It was way easier than expected, also had help from another person making the plugins load similarly to &quot;lazy&quot; as well. This setup is way way way faster than using lazy.nvim IME, especially my work computer where it would take 300 ms to load. Now it&#x27;s around 80ms.
    • c-hendricks2 days ago
      You&#x27;re linking this all over the place so heads up, it links to an unrelated file in the diff.
      • azemetre2 days ago
        My bad, updated the links now. Reason for the passion is that I originally found out about neovim on hackernews where someone shared their dotfiles setup that used vim-plug with neovim. It looked simple to transition and I did.<p>Just trying to share the love.
    • catlover762 days ago
      [dead]
  • mkhalil2 days ago
    Every time I see a something with the ability to import code from Git, especially if they allow specifying a branch (this pack even supports commit hashes), I wish they would document (and that more people would know) that they can &quot;checkout&quot; a branch at a specific time; because a lot of branches (vim plugins included) don&#x27;t even bother with versioning.<p>ex: you can use this to checkout a repo @ a specific datetime: &gt; git checkout &#x27;master@{2025-05-26 18:30:00}&#x27;<p>just doing my share to help people steer away from another leftPad disaster (or the xz apocalypse that almost was...)
    • xlii2 days ago
      Seems like a plausible idea but working with clocks my first question would be &quot;whose clock is it&quot;. Is it repository defined clock? My clock? Git remote’s clock?<p>AFAIK this can be used for hashes, but friends don’t let friends use clocks in software developments (unless it’s last resort).
    • bikeshaving2 days ago
      I’m curious. What’s the risk of a supply chain attack? What are the privileges of a VIM plugin?
      • feinte2 days ago
        A plugin can spawn arbitrary processes so if neovim is not started in a sandbox (container, namespace, firejail...) they can basically do whatever your user has the right to do.<p>Pretty big supply chain risks here.
        • WhyNotHugo2 days ago
          And often times sandboxing it is hard.<p>E.g.: what do you use to edit ~&#x2F;.ssh&#x2F;config or ~&#x2F;.profile?
      • asimovDev2 days ago
        neovim (vim) plugins can make web requests, so you could steal secrets from a .env file being edited by, for example, making a LSP plugin active for .env files? According to my limited knowledge of LSP and how neovim plugins work, it should be possible<p>Could also just phone home everything a user edits using the text editor I bet.<p>Can someone tell me, when someone has a terminal buffer, using a vim plugin, could you potentially steal their root password when a user runs a sudo command?<p>And following up, could you, using that password, allow SSH connections and open ports in other system config files? Disable firewall? And potentially execute other commands using `:!` ?
        • 63stack2 days ago
          You have the entire Lua language available in vim plugins, so you can just read all the files on the disk that the user has access to, you don&#x27;t need to make an lsp plugin.<p>Executing shell commands is also possible, yes. Reading the root password is not possible because that&#x27;s handled by an external program (forgot the specifics on Linux), but you could technically present a fake password prompt, and steal that.
      • kzrdude2 days ago
        Anything a user application can do
    • manwe1502 days ago
      I thought that gives master as of your pull time, not nearest commit to that time, which seems very confusing (it isn’t reproducible, except for yourself). I think you need a more complicated git log —before=time for any semblance of reproducibility
      • mkhalil2 days ago
        Good catch, you are correct. I initially was going post the actual command for checking out a branch at a time:<p>&gt; git checkout $(git rev-list -1 --before=&quot;YYYY-MM-DD&quot; master)<p>but thought I found a shortcut - which turns out is not really one, and like you said: confusing.<p>I can&#x27;t edit my post, but in any case; the point being: it would be nice if import statements are closer to &quot;github.com&#x2F;google&#x2F;uuid@YYYY-MM-DD&quot; or in this case you can pass a date to version: &quot;YYYY-MM-DD&quot; and the library would run the uglier nested command above to import the proper version.
    • CGamesPlay2 days ago
      Why not by SHA?
      • Lermatroid2 days ago
        Dates make pinning easier than looking up a SHA
        • tfsh2 days ago
          Easier for humans to parse, but introduces the threat vector of malicious attackers modifying the history and force submitting malicious code at or before a pinned time. That&#x27;s why lock files exist.<p>SHA is still the way to go for those who are security sensitive.
        • CGamesPlay2 days ago
          Fair. If we&#x27;re talking about documenting this feature, we should point out that SHA is immutable, while branches, tags, and dates are mutable references.
  • WhyNotHugo2 days ago
    You don’t really need a Vim plugin manager, especially if you use git for your dotfiles.<p>Installing a plugin merely requires placing its files (eg: cloning its repository) into a well-known location. You can just do that.<p>If you track your config with git, you can track plugins with submodules. This has the added advantage of pinning the exact version (and tracking that version in for).
    • setopt2 days ago
      &gt; If you track your config with git, you can track plugins with submodules. This has the added advantage of pinning the exact version (and tracking that version in for).<p>I did this for a year or so, with the motivation that submodules could replace <i>all</i> tool-specific package managers (for vim, tmux, zsh, etc.).<p>But honestly managing Git submodules felt like a chore compared to my old `vim-plug` setup. Basically because submodules are a neat concept but not implemented very ergonomically in Git. Eventually I just went back.<p>If someone has a setup using built-in vim pack that feels <i>more</i> ergonomic than vim-plug et al. then I’m very interested to hear.
    • riedel2 days ago
      I find myself enabling and disabling some plugins frequently and find it easy via the com config than the shell&#x2F;filesystem . However, more importantly plugins can be activated easily based on file-type. Most plugin managers are anyway only a small wrapper around git, I guess.
  • higon2 days ago
    Still primitive. But I&#x27;d love to drop lazy for this once they implement a differed load.<p>I love lazy.nvim. It&#x27;s great no doubt. But recently I felt like the author is taking an aggressive user retention behavior by re-imprementing every useful open-source community plugins out there (like snack.nvim, mini.nvim). That&#x27;s a kill-zone&#x2F;copycat strategy. I don&#x27;t get it.
    • aldanor2 days ago
      And then ditching those packages unmaintained (like snacks).<p>&#x2F;&#x2F; mini.nvim is a completely different author though and doesn&#x27;t have to do much with lazy
      • johnnypangs2 days ago
        The mini.nvim maintainer is the one who did a lot of the work for pack I believe:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;pulls?q=is%3Apr+pack+is%3Aclosed+author%3Aechasnovski" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;pulls?q=is%3Apr+pack+is%3Ac...</a>
      • dannyfritz072 days ago
        I believe folkes is just on vacation. Hardly ditched.
        • yoyohello132 days ago
          Yeah last commit on snacks was only like 6 months ago. Reasonable vacation time for an independently wealthy guy.
          • kombine2 days ago
            I&#x27;m a bit bummed too - I switched a few plugins to snacks.nvim and now I have no idea if they are going to be maintained.
          • eikenberry2 days ago
            Could also be done and not had a reason to update.
            • yoyohello132 days ago
              There are quite a few bugs and open issues, and open MRs. So done seems unlikely
    • kzrdude2 days ago
      I think he&#x27;s pretty well placed to implent good interfaces following his paradigm, noticeably different than some other authors. I like it, so I often think his take is the best.<p>Snacks picker is now the best picker, for example.
  • lukaslalinsky2 days ago
    I&#x27;m a long time vim user, but neovim with plugins is just not worth it for me. Something always breaks. I think neovim would do better if they started integrating the core plugins like LSP, tree sitter
    • lawn2 days ago
      &gt; I think neovim would do better if they started integrating the core plugins like LSP, tree sitter<p>That&#x27;s exactly what they&#x27;re doing.<p>Both tree-sitter and LSP are built in and the primary LSP&#x2F;tree-sitter plugins only bundle default LSP configurations and tree-sitter queries respectively. They&#x27;re also planning to include tree-sitter query bundling into Neovim natively somehow, to make it even less reliant on the nvim-treesitter plugin.<p>They recently simplified the LSP configuration and to configure a new LSP you basically do this:<p><pre><code> vim.lsp.config(&quot;expert&quot;, { cmd = { &quot;expert&quot; }, root_markers = { &quot;mix.exs&quot;, &quot;.git&quot; }, filetypes = { &quot;elixir&quot;, &quot;eelixir&quot;, &quot;heex&quot; }, }) vim.lsp.enable(&quot;expert&quot;) </code></pre> And then in the &quot;LspAttach&quot; autocmd you can define your LSP specific keymaps for example.
      • GCUMstlyHarmls2 days ago
        &gt; And then in the &quot;LspAttach&quot; autocmd you can define your LSP specific keymaps for example.<p>If you want. It also now ships with most auto-mapped.
    • cassepipe2 days ago
      I was the same and kept using vim for C&#x2F;C++ development. vim-plug, gutentags (ctags manager), ALE did their job pretty well and I didn&#x27;t bother to learn another way.<p>All that changed with web dev where you have to juggle with different syntaxes and tools... I decided I would just use a neovim distribution. I have tried many but Lunarvim (now inactive) and now Astronvim have served me well so far.
    • normie30002 days ago
      Same, but I&#x27;m guessing it&#x27;ll settle down in the next 5-10 years.
  • qudat2 days ago
    I’ve been using it for awhile, no issues: <a href="https:&#x2F;&#x2F;erock-git-dotfiles.pgs.sh&#x2F;tree&#x2F;main&#x2F;item&#x2F;dot_config&#x2F;nvim&#x2F;init.lua.html" rel="nofollow">https:&#x2F;&#x2F;erock-git-dotfiles.pgs.sh&#x2F;tree&#x2F;main&#x2F;item&#x2F;dot_config&#x2F;...</a>
  • OJFord2 days ago
    I don&#x27;t need this to be minimal, I&#x27;d love it to be the one true solution, niche requirements excepted.<p>I&#x27;m currently still using vim pack with git submodules because I can&#x27;t be bothered to trawl through tens of GitHub projects to work out what&#x27;s the best supported &#x2F; most liked &#x2F; currently recommended third-party nvim package manager.
  • dismalaf2 days ago
    I&#x27;m torn. I really like Lazy and have never minded having different package managers for Vim over the years. But having one blessed one is probably better long term, just like built-in LSP and Treesitter.
    • azemetre2 days ago
      I recently migrated from lazy.nvim to vim.pack and it was way easier than expected:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;azemetre&#x2F;dotfiles&#x2F;pull&#x2F;61&#x2F;files" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;azemetre&#x2F;dotfiles&#x2F;pull&#x2F;61&#x2F;files</a><p>I followed the work of another neovimmer where he was able to replicate deferring with vim.pack. Brought my startup time down to sub 100ms.<p>Definitely worth it to me as it&#x27;s one less &quot;core&quot; plugin to maintain. Having things like telescope or trouble are one thing, it&#x27;s quite another to rely on a plugin that changes the way neovim interacts with loading.
    • shmerl2 days ago
      I agree if it at least can match lazy.nvim in features, which it so far doesn&#x27;t. Stuff like pinning plugin versions, notifying about breaking changes and actual lazy loading are very useful.
      • porridgeraisin2 days ago
        It has pinning already<p>&gt; Freeze plugin from being updated:<p>&gt; - Update &#x27;init.lua&#x27; for plugin to have version set to current commit hash. You can get it by running vim.pack.update({ &#x27;plugin-name&#x27; }) and yanking the word describing current state (looks like abc12345).<p>&gt; - :restart.
        • shmerl2 days ago
          That&#x27;s good
      • 38362936482 days ago
        It feels a bit dishonest to criticise an unreleased development build for a lack of features
        • shmerl2 days ago
          I&#x27;m not criticizing it, just describing what I&#x27;d consider a level good for switching at least for me. It can be different for others and they might think they need less.
  • porridgeraisin2 days ago
    I build neovim from source by myself, and maintain plugins as git submodules in pack&#x2F;plugins&#x2F;start (nvim automatically loads these at startup) and pack&#x2F;plugins&#x2F;opt (these are loaded manually) by myself. I have stuff like emmet, diffview.nvim, nvim-dap, etc loaded optionally when I want to use them. Status bar, LSP, Treesitter, and a few small tpope plugins are loaded on startup. I have a 500 line init.vim. I have a few local patches for some of the plugins.<p>This way, _nothing_ changes ever. That&#x27;s how I want it.<p>I used to use astro.nvim (a few years back), then at one point I upgraded it and they had changed all the keybinds (even for basic shit like go to references IIRC), it was absolutely insane. I lost my shit and deleted the whole thing and moved to this setup. I will never use an nvim distro or update nvim plugins ever again. If I really want something I will git pull it myself (I&#x27;m looking out for nvim 12&#x27;s ghost text feature for example). But in the general case, I&#x27;m done with any changes whatsoever. Not one byte.<p>I actually open-sourced my &quot;approach&quot; and documented it but I left it midway, if others are interested I might stop procrastinating and actually finish it.
    • vander_elst2 days ago
      I like the approach! I&#x27;d be interested in reading more. I might not fully adopt it but I m on a similar wavelength about stability. I don&#x27;t want things to change unexpectedly, I just want my tools to just work consistently without surprises.
  • CGamesPlay2 days ago
    This is the original issue that added this: <a href="https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;issues&#x2F;20893" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;issues&#x2F;20893</a><p>Apparently this has been a long-time goal of the Neovim project, but it isn&#x27;t really explained why. It feels like bloat in a space where existing plugins did a fantastic job, but apparently some people disagreed with that.
    • justinmk2 days ago
      It is explained in that issue: <a href="https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;issues&#x2F;20893#issuecomment-1723453602" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;issues&#x2F;20893#issuecomment-1...</a>
      • CGamesPlay1 day ago
        @justinmk, thanks for all your work and leadership on neovim. I&#x27;m not excited about this feature, but in general I am excited about the changes I&#x27;ve seen in the project. Making a text editor is definitely not my life&#x27;s ambition, but I&#x27;m glad you&#x27;re taking up the challenge.<p>...<p>I don&#x27;t really agree that &quot;New users must look for a plugin manager and figure out how to install it&quot;. The only users who need to do that are the ones who have already found a plugin that they want to install, and which also doesn&#x27;t provide installation instructions of its own. I don&#x27;t agree that &quot;Lack of a declarative way to specify plugins&quot; is a valid problem, since this problem is actually introduced by bundling a plugin manager.<p>And this justification for creating the feature completely ignores the <i>several</i> high-quality existing, unbundled implementations of plugin managers. The installation of Lazy.nvim is entirely within your nvim init files, demonstrating that 3rd-party plugin managers can have simple installation instructions.<p>The bundled package manager also makes some trade-offs that 3rd-party ones don&#x27;t have to make (e.g. support for non-git plugins). This is addressable, like the lack of lockfiles, automatic dependency management, and re-implementing every other feature that existing plugins already provide. That&#x27;s why this is bloat. This task is better-served outside of the core project.
        • justinmk1 day ago
          When problems get solved, the remaining problems become more salient. The most salient feedback we get in the last 3+ years is that the &quot;getting started&quot; UX has too much friction. (And this affects old users too, whenever I install Nvim on a new machine without my bag-of-tricks, I notice where friction is.)<p>For most users that want LSP, or even just to try Nvim for 2 minutes to see what it can do, it&#x27;s not acceptable that our intro docs have to say &quot;go here or there to install this or that plugin manager, and read their docs, then come back...&quot;.<p>Being able to say &quot;add vim.pack.add(http:&#x2F;&#x2F;...) to your config, then :restart&quot;, is a complete answer.<p>vim.pack is relatively tiny (low maintenance), and zero performance cost for users that don&#x27;t use it. Not bloat.<p>It&#x27;s the opposite of bloat, because it allows us to more often choose &quot;runtime-dependencies&quot;, instead of &quot;shipping the universe&quot; in the default build. That&#x27;s a very welcome &quot;release valve&quot;.<p>- Example of &quot;shipping the universe&quot;: Vim&#x27;s 1000+ builtin syntax files, ftplugins, etc.<p>- Example of &quot;runtime-dependencies&quot;: nvim-lspconfig, treesitter parsers.<p>&gt; The only users who need to do that are the ones who have already found a plugin that they want to install,<p>You skipped some steps.<p>&gt; automatic dependency management<p>None of the existing plugin managers do that, except luarocks.
  • wwarner2 days ago
    M-x package-list-packages :)
    • sevensor2 days ago
      You joke, but a colleague tried to get me using nvim a few months ago, and after installing all the stuff he recommended, my first impression was that I was running emacs. It was busy, there were extra buffers all over the place, things kept popping up as I typed, and I wasn’t clear on how to get to normal mode. In sure this has as much to do with his config, which I copied without understanding it, as it does with nvim itself, but it felt very unfamiliar.
      • lenkite2 days ago
        &gt; and I wasn’t clear on how to get to normal mode.<p>You need to ditch your heretical friend if he has broken the Holy Commandment of &lt;Esc&gt; to get to Normal mode.
  • a99c43f2d5655042 days ago
    Offtopic, and no one asked, but I&#x27;m going to advertise anyway: Helix is a good alternative to (neo)vim for anyone who wants a terminal editor with vimotions(ish) but doesn&#x27;t like configuring or scripting. That was the selling point that made me stay with it: The out-of-the-box experience was close enough to what I was hoping to end at but gave up with neovim due to the hassle required. It is opinionated of course, but the default behavior and appearance of Helix felt much more appropriate than that of neovim.
    • CollinEMac2 days ago
      I&#x27;m a Neovim user but I have to agree with the recommendation. If you&#x27;ve wanted to check out vim&#x2F;emacs but were nervous Helix is a good place to start.<p>I do wish there was at least the option to use vim keybindings in Helix though. The Helix keybindings are mostly the same but just different enough to be annoying if you&#x27;re already used to vim.<p>Edit: typo
      • xcrjm2 days ago
        Someone else mentioned evil-helix if you really want those keybindings but, admittedly, I think the different keybindings (and more specifically the select then operate model) are a major point of why helix (and its inspiration, kakoune) exists.
      • dannyfritz072 days ago
        I haven&#x27;t used it, but I&#x27;ve seen people speak well about evil helix <a href="https:&#x2F;&#x2F;evil-helix.github.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;evil-helix.github.io&#x2F;</a>
    • tomku2 days ago
      I actually like Helix a lot too, but it is different than (neo)vim in a lot of significant ways. It feels like alternate-universe vim more than just better defaults. It also doesn&#x27;t just not require scripting, it doesn&#x27;t <i>support</i> scripting (yet). Very interesting in its own right but it might not be what you want if you&#x27;re familiar with (neo)vim already.
    • bbkane1 day ago
      I still have to interact with files on servers I don&#x27;t control, so I still need to keep basic vim motions in my working set memory unfortunately
    • wredcoll2 days ago
      Can I use wasd for my movement keys?
  • ordinaryradical2 days ago
    Built a single file config with this after watching Sylvan Franklin and TJ DeVries a bit on YouTube and it has been great. Config junkies may need something more, but for a minimalist (and is minimalism not the essence of neovim?) it’s lovely.
    • geophph2 days ago
      Vimotheé!!
      • TheRoque2 days ago
        Discovered this guy recently while looking for a new vim.pack config. He&#x27;s quite funny.
    • qudat2 days ago
      Link to src?
      • TheRoque2 days ago
        <a href="https:&#x2F;&#x2F;youtu.be&#x2F;xGkL2N8w0H4?si=_U9rFhZM50Dg4cVw" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;xGkL2N8w0H4?si=_U9rFhZM50Dg4cVw</a>
  • bpierre2 days ago
    I recently migrated to it [1], no issues so far. It doesn’t have the many features Lazy.nvim has (e.g. lazy loading of plugins that can be triggered in various ways), but this is a tradeoff I am fine with.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;bpierre&#x2F;dotfiles&#x2F;blob&#x2F;main&#x2F;nvim&#x2F;lua&#x2F;packages.lua" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bpierre&#x2F;dotfiles&#x2F;blob&#x2F;main&#x2F;nvim&#x2F;lua&#x2F;packa...</a>
  • divan2 days ago
    From the name I initially assumed that it&#x27;s about adding &#x27;packs&#x27; (maintained group of plugins) similar to AstroNVim community packs [1]<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;AstroNvim&#x2F;astrocommunity&#x2F;tree&#x2F;main&#x2F;lua&#x2F;astrocommunity&#x2F;pack&#x2F;go" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;AstroNvim&#x2F;astrocommunity&#x2F;tree&#x2F;main&#x2F;lua&#x2F;as...</a>
  • shmerl2 days ago
    Neat, but it&#x27;s missing ability to lazy load plugins. I&#x27;m using lazy.nvim which is both lazy loader and update manager and it&#x27;s really great.
    • azemetre2 days ago
      On the neovim subreddit one of the core maintainers said that relying on users to lazy load plugins is an extremely poor practice and something that should be done by the author&#x27;s of said plugins. It is just a matter of how you initialize your plugin&#x2F;name-of-plugin.lua file.<p>Don&#x27;t know if it helps but I recently migrated to vim.pack. With another neovimmer he helped me create a defer function and pack update. The only plugin I initially load is a dashboard while deferring everything else. Brought my startup time to sub 100ms.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;azemetre&#x2F;dotfiles&#x2F;pull&#x2F;61&#x2F;files" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;azemetre&#x2F;dotfiles&#x2F;pull&#x2F;61&#x2F;files</a>
      • shmerl2 days ago
        I don&#x27;t understand that argument (and I&#x27;ve heard it several times), see comment below about plugins dependencies. I.e. that argument is OK for isolated cases, not for more complex dependency graph.
        • azemetre2 days ago
          This is the reddit thread where the lead of the project talks about it:<p><a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;neovim&#x2F;comments&#x2F;1n2nax0&#x2F;why_vimpack_was_based_on_minideps_but_not_lazynvim&#x2F;nbc9wsl&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;neovim&#x2F;comments&#x2F;1n2nax0&#x2F;why_vimpack...</a><p>It doesn&#x27;t answer your question about plugin dependencies (although vim.pack lets you handle this), but it might give you more insight on where vim.pack will go in the future.
    • robinsonrc2 days ago
      Depending on the number of plugins you have, you may not notice the difference in practice. I certainly don’t but I’m very much on the minimal side of things. This all said I’m definitely of the school of thought that plugin developers should be responsible for ensuring their plugins are lazy loaded, rather than leaving it up to the user, who is not as well placed to make the decision.
      • shmerl2 days ago
        Well, it might work for individual plugins, but it can&#x27;t work for when you use plugins as extensions for other plugins. How would plugin A know it has to load B (which is an extension of A) as a prerequisite for [lazy] loading itself?<p>Basically, only plugin manager can have a sane graph of plugins dependencies and know how to load them because that graph is in the end defined by the user (for the plugin manager) and plugins themselves have no clue what user might want.
  • dboon2 days ago
    It’s funny when you start a project and then find something so similar in the wild.<p>I’m writing a C package manager in exactly the same vein. Git based, no binaries, rolling release. It’s probably not such a coincidence, since I was inspired by Lazy in the first place.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;tspader&#x2F;spn" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tspader&#x2F;spn</a>
  • Gabriel542 days ago
    I&#x27;ve been very happy with Paq [1] which is essentially a lightweight wrapper around git pull.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;savq&#x2F;paq-nvim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;savq&#x2F;paq-nvim</a>
  • emigre2 days ago
    Neovim is really excellent, it&#x27;s so good that they are adding a package manager. Loving this.
  • synergy202 days ago
    More news on neovim than vim these days, including this one. I wonder if I should switch to neovim, as more AI related plugins are neovim only. In the meantime, Vim has served me fine so far.
  • geophph2 days ago
    I’ve migrated over to it - got about 12 plugins or so. No complaints so far! I don’t have strong opinions on whether my plugins are loaded lazily or not. Seems to work fine to get it done and get out of the way.
  • Buttons8402 days ago
    One step closer to having all the features of Emacs. :flex:<p>I love Vim key bindings, and I&#x27;m happy to see the flagship of Vim keybindings improve.
  • sbinnee2 days ago
    Does anyone know what’s the ground they want to make a builtin plugin manager? Did they think there should be some sort of standard?
    • pynappo2 days ago
      &gt;Problem: &gt; &gt;New users must look for a plugin manager and figure out how to install it. &gt; - Nvim documentation should be able to give a one-liner to install (non-builtin) plugin managers and plugins. &gt; &gt; Lack of a declarative way to specify plugins. &gt; - Lets Nvim reason about dependency ordering &#x2F; transitivity. &gt; - Lets crawlers build a package index. &gt; - [packspec](<a href="https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;packspec" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;packspec</a>) adds potential to leverage NPM tooling (and possibly infrastructure).<p><a href="https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;issues&#x2F;20893#issuecomment-1723453602" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&#x2F;issues&#x2F;20893#issuecomment-1...</a>
    • TheRoque2 days ago
      I find it weird to not have one, given the ubiquity of plugins in (neo)vim. These editor are self-proclaimed &quot;super easy to extend&#x2F;program&quot;, until now it was awkward to need a third party plugin manager to &quot;extend&quot; them (the vast majority of people use plugins and don&#x27;t extend all the functionalities with their own code). Plus 0.12 is said to be &quot;The year of Nvim OOTB&quot;: <a href="https:&#x2F;&#x2F;neovim.io&#x2F;roadmap&#x2F;" rel="nofollow">https:&#x2F;&#x2F;neovim.io&#x2F;roadmap&#x2F;</a>
    • qudat2 days ago
      A neovim plugin manager is essentially a git clone tool that knows how to execute a setup function. This aspect of plugin management is the same for all plugin managers in neovim. The goal is to have something that mostly works as-is but other plugins managers can potentially build off of to support advanced features like lazy loading.
    • bbkane2 days ago
      They&#x27;re trying to improve &quot;setup experience&quot; - see <a href="https:&#x2F;&#x2F;m.youtube.com&#x2F;watch?v=Nq2T28_ILxc" rel="nofollow">https:&#x2F;&#x2F;m.youtube.com&#x2F;watch?v=Nq2T28_ILxc</a> (I forget the timestamp and exact phrasing)
      • yoyohello132 days ago
        The new LSP api is actually great. Makes the whole setup way easier. They’re really doing great work.
        • wilkystyle2 days ago
          100% agree. I started over in 2022 or 2023 after 10 years of Vim cruft building up by moving to a Lua-based Neovim setup with Packer (now-unmaintained package manager). It was definitely an improvement, and I was impressed by how smooth and easy it was to get set up with a modern, fully-featured Neovim setup. However, I felt a little uneasy with all the packages needed to get a really good LSP setup without a ton of work (lsp-zero, lspconfig, etc).<p>Deleted my ~&#x2F;.config&#x2F;nvim&#x2F; directory the other day and started again just to see what the experience was like with modern Neovim capabilities, and it was <i>so</i> much easier!
      • sbinnee2 days ago
        Thanks for sharing
  • phplovesong2 days ago
    Over the last decade i went thru 4 package managers. I always hoped for a builtin one. Over the years my package dep count has decresed radically. I think i use 4-6 plugins (and one theme) really on a daily basis. The rest is nice to haves i probably use once a month making them up for deletion.
  • mvieira382 days ago
    Can&#x27;t say I&#x27;m looking forward to migrating from lazy.nvim, tbh... Can anyone tell me what this does better than lazy? I can&#x27;t really tell from the docs alone
  • commandersaki2 days ago
    Seems like every 3 months something new supersedes the incumbent. I’ve been using kickstart.nvim and maintaining parity with all the changes has been chaotic.
    • saint_yossarian2 days ago
      Well kickstart.nvim is a template for your own configuration, not a distribution. You&#x27;re not supposed to update it.
  • ho_schi2 days ago
    Nice.<p>Should it provide to backup&#x2F;install local plugins? I mean, probably I can move the directory with it into the correct destination.
  • justicehunter2 days ago
    Plan to switch from vim-plug to this one, hopefully wont have to change again
  • c-hendricks2 days ago
    Given how many configs being shared here which include their own half-baked (no offence!) `add_plugin` functions which replicate traditional vim plugin managers, there&#x27;s definitely still room for something like Lazy which just wraps `vim.pack`
  • xigoi2 days ago
    I’m disappointed that it requires the plugins to have a specific scheme for naming branches, so it won’t be compatible with all plugins.
    • GCUMstlyHarmls2 days ago
      Not sure what you mean by this. Do you mean for versioning requiring `vX.Y.Z` tags? That&#x27;s quite standard (linux kernel does this). Otherwise it defaults to main&#x2F;master branch which is also basically standard depending on when the repo was made...
      • xigoi16 hours ago
        &gt; Do you mean for versioning requiring `vX.Y.Z` tags?<p>That, and also it has to be specifically Semantic Versioning.