Home

Awesome

slowly.nvim 🐢

Note: I am no longer using slowly. It does work, but I have moved on to using Nix and Home Manager instead.

Slowly is a Neovim plugin manager for people who value simplicity over speed. It is neither blazingly fast nor the most advanced solution, but rather the bare minimum of what I need. Slowly handles installing, updating, and reinstalling plugins using git. It does not do anything fancy. I used packer.nvim for awhile, and if you want the kitchen sink included, you should use Packer instead.

Here's a friendly comparison of Slowly to other plugin managers:

AdvantagesDisadvantages
You can acually understand what is happeningPlugin works slowly
Simple and easy to useOnly basic features
Few dependencies, install is copying one fileNo flashy animations

Requirements

Installing

Copy the ./lua/slowly.lua file from this repository to ~/.config/nvim/lua/slowly.lua. Or, put this repository somewhere on your runtime path. Then write an ~/.config/nvim/init.lua like this:

local example_condition = false

require('slowly').setup({ 
  disabled_builtins = {
    'netrw',
    'netrwPlugin',
    'netrwSettings',
    'netrwFileHandlers'
  },
  plugins = {
    {url = 'https://github.com/nvim-lua/plenary.nvim',    start = true},
    {url = 'https://github.com/elihunter173/dirbuf.nvim', start = true},
    {url = 'https://github.com/nat-418/bufala.nvim'},
    {url = 'https://github.com/nat-418/tabbot.nvim'}
  }
})

require('dirbuf').setup {
  show_hidden = false,
  sort_order  = 'directories_first',
  write_cmd   = 'DirbufSync -confirm',
}

if example_condition then
  vim.cmd.packadd('bufala.nvim'); require('bufala').setup()
  vim.cmd.packadd('tabbot.nvim'); require('tabbot').setup()
end

In this example we want to replace the old vim default plugin netrw with the excellent dirbuf.nvim, and we want dirbuf to be loaded automatically on startup along with plenary—a common dependency required by other plugins. We also install a few optional plugins and then explicitly load them only when example_condition is met.

Usage

Slowly provides a single command :Slowly with a few subcommands:

Note: :Slowly update will automatically :Slowly save before git pull-ing. That way if something bad happens as a result of the update, you can easily do a :Slowly restore and quickly get back to a sane state. Only one save tarball can exist at a time. If you need more advancded snapshotting and backups, ask your filesystem.

Configuration

Slowly's setup function can accept the following configuration options:

Note: by default, all plugins install to opt/.