gitwtfhub

wtf is pack-ui.nvim?

jtprogru/pack-ui.nvim — explained in plain English

Analysis updated 2026-05-18

34LuaAudience · developerComplexity · 2/5Setup · easy

TL;DR

A floating-window interface for Neovim's built-in vim.pack plugin manager that shows plugin status and lets you apply updates with a click.

Mindmap

mindmap
  root((pack-ui.nvim))
    What it does
      Shows plugin status
      Marks and updates plugins
      Displays changelogs
    Tech stack
      Lua
      Neovim vim.pack
      Git
    Use cases
      Reviewing plugin updates
      Bulk updating plugins
      Neovim configuration
    Audience
      Developers
      Neovim users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

See which Neovim plugins managed by vim.pack have available updates in one screen.

REASON 2

Mark a handful of plugins and update only those instead of updating everything at once.

REASON 3

Update every plugin in one keypress when you trust all the available changes.

REASON 4

Read a changelog for a plugin directly from the update window before applying it.

What's in the stack?

LuaNeovimvim.packGit

How it stacks up

jtprogru/pack-ui.nvimgregorias/nvim-surround-wkkarpathy/optim
Stars343542
LanguageLuaLuaLua
Last pushed2021-08-19
MaintenanceDormant
Setup difficultyeasyeasymoderate
Complexity2/51/53/5
Audiencedeveloperdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

Requires Neovim 0.12 or newer for the built-in vim.pack manager.

No license information was found in the README.

Wtf does this do

pack-ui.nvim adds a visual interface on top of vim.pack, the plugin manager built into newer versions of the Neovim text editor. Normally, checking which plugins have updates and applying them means using separate commands with limited feedback. This plugin puts everything into one floating window that shows the state of every installed plugin and lets you mark specific ones to update, or update everything at once with a single key press. The plugin works by using plain git commands behind the scenes to detect which plugins have new commits available, since vim.pack itself does not expose an easy way to check this without opening its own separate screen. That detection is only used to display information though. When you actually apply an update, the work is handed back to vim.pack itself, which keeps track of exact versions and the lockfile. Inside the floating window, each plugin is listed with a status symbol, its name, current version, and whether it is active in the current session. Plugins that have an update available are grouped together at the top and shown in bold, with the change written out like current version to new version. A handful of keyboard shortcuts let you toggle marks, update marked plugins, update everything, or view a changelog for a specific plugin. Installation is done through vim.pack itself or by manually placing the plugin files in Neovim's native package folder, and no additional setup step is required for the commands to work. Optional configuration lets you change window appearance, keyboard shortcuts, and whether the plugin should automatically check for or apply updates when Neovim starts, though both of those automatic behaviors are turned off unless you enable them yourself.

Yoink these prompts

Prompt 1
Show me how to install pack-ui.nvim using vim.pack.add.
Prompt 2
Help me write a setup() config for pack-ui.nvim with custom keymaps and a rounded border.
Prompt 3
Explain how pack-ui.nvim decides which plugins have updates available.
Prompt 4
Walk me through enabling auto_check so pack-ui.nvim notifies me of updates on startup.

Frequently asked questions

wtf is pack-ui.nvim?

A floating-window interface for Neovim's built-in vim.pack plugin manager that shows plugin status and lets you apply updates with a click.

What language is pack-ui.nvim written in?

Mainly Lua. The stack also includes Lua, Neovim, vim.pack.

What license does pack-ui.nvim use?

No license information was found in the README.

How hard is pack-ui.nvim to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is pack-ui.nvim for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.