configuring-neovim

Configure Neovim with LazyVim and Nix for reproducible plugin and LSP management.

4|Updated Dec 21, 2025
One-click install
npx skills add https://github.com/greenheadHQ/nixos-config --skill configuring-neovim-greenheadhq
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: configuring-neovim
Source: https://github.com/greenheadHQ/nixos-config/tree/main/.claude/skills/configuring-neovim
Command: npx skills add https://github.com/greenheadHQ/nixos-config --skill configuring-neovim-greenheadhq

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill provides a deterministic Neovim setup that combines LazyVim with Nix to manage plugins, LSP servers, formatters, and input-method integration across macOS (nix-darwin) and NixOS.

Core Features & Use Cases

  • Hybrid architecture: Nix manages binaries and tooling while lazy.nvim handles plugin deployment.
  • Reproducible environment: extraPackages declare LSPs, formatters, and linters; Mason is disabled to rely on Nix.
  • Unified config location: ~/.config/nvim is symlinked to the repo via mkOutOfStoreSymlink, ensuring versioned config.
  • IM / input method support: im-select integration for Korean input during editing.
  • Use case: On a fresh MacBook Pro or NixOS workstation, apply this configuration to get a ready-to-use Neovim with LSP servers and formatting.

Quick Start

Launch Neovim after applying this configuration and verify that LSP, treesitter, and im-select integration are active.

Frequently Asked Questions about configuring-neovim

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure Neovim with Nix and LazyVim for reproducible LSP setup?

Configure Neovim with Nix by declaring LSP servers, formatters, and linters as extraPackages while lazy.nvim handles plugin deployment. This hybrid architecture disables Mason, ensuring deterministic tooling versions across macOS and NixOS environments.

Does this Neovim Nix configuration support macOS and NixOS?

This Neovim configuration supports both macOS using nix-darwin and NixOS with Home Manager. It applies the same deterministic LazyVim setup across platforms, using Nix extraPackages to manage binaries and tooling for seamless cross-platform LSP and formatter integration.

How do I manage Neovim plugins with lazy.nvim when Mason is disabled by Nix?

Manage Neovim plugins with lazy.nvim while Nix handles binary dependencies by disabling Mason entirely. Declare LSP servers and formatters as Nix extraPackages, allowing lazy.nvim to deploy plugins while Nix provides the underlying executables for reproducible environments.

Why use Nix to manage Neovim LSP servers and formatters instead of Mason?

Use Nix to manage Neovim LSP servers and formatters instead of Mason to achieve reproducible environments where tooling versions are declaratively pinned. This approach ensures deterministic setup across machines and prevents version drift that Mason's runtime installation can introduce.

Can I symlink my Neovim config directory to a Nix repository for version control?

Symlink your Neovim config directory to a Nix repository using mkOutOfStoreSymlink, which links ~/.config/nvim directly to your repo. This ensures your configuration remains versioned and portable while still leveraging Home Manager for deterministic deployment.

Does this Neovim LazyVim configuration support input method switching for Korean?

This Neovim LazyVim configuration supports input method switching for Korean through im-select integration. The setup configures im-select to handle input method transitions during editing, managed alongside LSP servers and formatters within the Nix environment.