Manage your Homebrew Brewfile directly from Neovim!
If you're on macOS and use Homebrew (and if you're not, please strongly consider doing so!), you probably have a Brewfile to manage your packages declaratively. brewfile.nvim
lets you manage your that Brewfile from within your favourite editor, giving you even less reasons to leave Vim or go outside. Why get Vitamin D when you can be installing and uninstalling apps, casks, and extensions at blazingly fast speeds?
This plugin supports managing packages from a variety of sources:
brew
packages.cask
packages for GUI applications.mas
packages for App Store applications (Requires mas-cli).vscode
extensions (Requires Visual Studio Code).-- Lazy
{
"piersolenski/brewfile.nvim",
opts = {
-- Auto-dump Brewfile after brew commands finish
dump_on_change = true,
-- Show confirmation prompts for uninstall actions
confirmation_prompt = true,
},
keys = {
{
"<leader>bi",
function()
require("brewfile").install()
end,
desc = "Brew install package",
mode = { "n" },
},
{
"<leader>br",
function()
require("brewfile").dump()
end,
desc = "Dump Brewfile and refresh the buffer",
mode = { "n" },
},
{
"<leader>bo",
function()
require("brewfile").open_homepage()
end,
desc = "Open package homepage",
mode = { "n" },
},
{
"<leader>bd",
function()
require("brewfile").uninstall()
end,
desc = "Brew uninstall package",
mode = { "n" },
},
{
"<leader>bD",
function()
require("brewfile").force_uninstall()
end,
desc = "Brew force uninstall package",
mode = { "n" },
},
{
"<leader>bI",
function()
require("brewfile").info()
end,
desc = "Brew package info",
mode = { "n" },
},
{
"<leader>bu",
function()
require("brewfile").upgrade()
end,
desc = "Brew upgrade package",
mode = { "n" },
}
}
}
# Position cursor on any line in your Brewfile
brew "neovim" -- <leader>bi to upgrade, <leader>bd to uninstall
cask "firefox" -- Works with casks too!
mas "Xcode", id: 497799835 -- Even Mac App Store apps!
As well as a passionate Vim enthusiast, I am a Full Stack Developer and Technical Lead from London, UK.
Whether it's to discuss a project, talk shop or just say hi, I'd love to hear from you!