[Guide] Tips and tricks to reduce startup and Improve your lua config

This page summarizes the projects mentioned and recommended in the original post on /r/neovim

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • packer.nvim

    A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config

  • Sorry, wants is not well documented (if at all) because what really needs to happen with it, requires, and after is a merger so that we don't have ~3 keywords that do similar, but confusingly different things. The best documentation for it currently is at https://github.com/wbthomason/packer.nvim/pull/264; actually fixing the situation to be less confusing is on my list but I can't promise I'll be able to get to it soon.

  • nix-darwin-dotfiles

    Dotfiles managed via Nix-Darwin and Mk-Darwin-System, for schoolwork and kotlin, lua, and rust programming

  • You can view my config here: https://github.com/shaunsingh/vimrc-dotfiles/tree/main/.config/nvim, if you want examples of what's described in this post. My config is fully lua, and starts up in about 9ms as per --startuptime

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • bufferline.nvim

    A snazzy bufferline for Neovim

  • Maybe it's me unlucky :) I have two machines, but experience regressions / breaking changes quite often. BTW, here is a breaking change from tomorrow: https://github.com/akinsho/nvim-bufferline.lua/issues/159

  • neovim-config

    My Neovim configuration. (by Shatur)

  • Sure, here: https://github.com/Shatur/neovim-config I do not use lazy / async loading for simplicity but I'm pretty satisfied with my startup time. My init.lua contains configuration that unrelated to any plugin and loaded first. I use plugin folder to load all my settings for plugin (each file have the corresponding name). My lua/config_utils contains my custom scripts. I also use firenvim plugin to use neovim in text fields in browser. So I do not load some plugins if I in firenvim session (statusline, bufferline, neogit, etc.)

  • commented.nvim

    Neovim commenting plugin in Lua. Support operator, motions and more than 60 languages! :fire:

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts