Skip to content

Repository files navigation

Neovim Config

Lua Neovim

Stars Issues Contributors Code size

R.I.P. Kentaro Miura sensei 🥀

🎐 Intro

  • ⚡BLAZINGLY FAST startup time in ~40ms. (Tested on M3 Pro MacBooks)
  • Well structured in Lua.
  • Easy to customize.
  • Use lazy.nvim as plugin manager.
  • Aligned icons across every plugin!

🧱 Structure

  • lua/core/ — core initialization, options, events, and settings
  • lua/modules/plugins/ — lazy.nvim plugin specifications
  • lua/modules/configs/ — plugin configurations
  • lua/keymap/ — keymaps organized by category
  • after/queries/ — custom Treesitter queries
  • ftdetect/ — filetype detection rules
  • ftplugin/ — filetype-specific settings
  • syntax/ — custom syntax definitions
  • snips/ — snippet definitions
  • nixos/ — NixOS and Home Manager integration

⚙️ Installation

Native (git clone)

# Back up existing config (if any)
mv ~/.config/nvim ~/.config/nvim.backup

# Clone the repository
git clone https://github.com/charliie-dev/nvimdots.lua.git ~/.config/nvim

# Launch Neovim — plugins will be installed automatically on first run
nvim

For prerequisites and dependencies, see Wiki: Prerequisite.

Nix (via home-manager)

This config ships with a Home Manager module. Add the input and module to your flake.nix:

{
  inputs.nvimdots.url = "github:charliie-dev/nvimdots.lua";

  outputs =
    {
      home-manager,
      nixpkgs,
      nvimdots,
      ...
    }:
    let
      # Choose one: x86_64-linux, aarch64-linux, aarch64-darwin
      system = "x86_64-linux";
    in
    {
      homeConfigurations.user = home-manager.lib.homeManagerConfiguration {
        pkgs = nixpkgs.legacyPackages.${system};
        modules = [
          nvimdots.homeManagerModules.default
          ./home.nix
        ];
      };
    };
}

Configure nvimdots separately in home.nix:

{
  programs.neovim.nvimdots = {
    enable = true;
    setBuildEnv = true;
    withBuildTools = true;
  };
}

The build environment and tools mainly support native plugin and parser builds on NixOS. See nixos/ and flake.nix for details.

⚙️ Configuration & Usage

🪨 Materials

Docs

YouTube channels

Awesomes

Trendy neovim news

🎉 Acknowledgment

Releases

Packages

Used by

Contributors

Languages