Skip to content

nvix

A modular, reproducible Neovim configuration built with Nixvim and flake-parts.

Every plugin is a standalone Nix module. Grab the whole thing as a pre-built nvim binary, or cherry-pick individual plugins into your own Nixvim config.

Consumed by ndots , auto-wired with nix-wire , utilities from utils .


Three variants

Variant Use case Includes
bare Review AI changes / minimal editing common, git, snacks (lazygit, no image deps), treesitter (33 grammars)
core Daily driver (default) bare features + buffer, ux, noice, lualine, firenvim, leetcode, blink-cmp, lang, lsp, autosession, AI - full grammars + image support
full Everything core + LaTeX (vimtex, texlab, texpresso)

Quick start

nix run github:semi710/nvix#bare    # minimal / AI diff review
nix run github:semi710/nvix#core    # daily driver
nix run github:semi710/nvix#full    # everything

Or as a flake input:

{
  inputs.nvix.url = "github:semi710/nvix";

  outputs = { self, nixpkgs, nvix, ... }@inputs: {
    home.packages = [
      nvix.packages.${pkgs.system}.core
    ];
  };
}

See Variants for what's in each, Usage for full integration, and Customization for extending and overriding.

Docs

Docs are served at nvix.semi.sh. To preview locally:

just doc