growing-nvim-config

Automate incremental Neovim configuration growth managed by NixOS/home-manager.

4|Updated Jan 15, 2026
One-click install
npx skills add https://github.com/johnnymo87/workstation --skill growing-nvim-config
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: growing-nvim-config
Source: https://github.com/johnnymo87/workstation/tree/main/.claude/skills/growing-nvim-config
Command: npx skills add https://github.com/johnnymo87/workstation --skill growing-nvim-config

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) components.

What problem does it solve?

This Skill helps teams incrementally grow Neovim configuration managed by NixOS/home-manager, reducing churn when adding keybindings, settings, or plugins.

Core Features & Use Cases

  • Incremental migration: migrate individual nvim settings or plugins without a full rewrite.
  • Environment isolation: keeps changes scoped to assets/nvim/lua/user and home-manager modules.
  • Reproducible setup: updates are applied via home-manager, ensuring consistency across machines.

Quick Start

  1. Create a small Lua file in assets/nvim/lua/user/ (e.g., assets/nvim/lua/user/options.lua) with your desired options.
  2. Add the require statements to your home.nix under extraLuaConfig, matching the pattern: extraLuaConfig = '' require("user.settings") require("user.options") '';
  3. Apply the changes with: home-manager switch --flake .#dev

Frequently Asked Questions about growing-nvim-config

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

FAQPage Schema
How do I incrementally migrate Neovim settings to NixOS home-manager without rewriting my entire config?

Incremental migration lets you add keybindings, settings, or plugins one piece at a time. Create Lua files in assets/nvim/lua/user/, add require statements to home.nix under extraLuaConfig, then apply changes with home-manager switch. This keeps modifications scoped and reproducible across machines.

Can I grow my Neovim config gradually while using NixOS home-manager?

Yes. This approach automates safe, incremental growth by isolating changes in assets/nvim/lua/user and integrating them via home.nix. Each update is applied reproducibly through home-manager, reducing churn when adding features progressively.

What's the best way to organize Lua files when migrating Neovim config to home-manager?

Place Lua files in assets/nvim/lua/user/ organized by function—like options.lua, keymaps.lua, plugins.lua. Reference them in home.nix using the extraLuaConfig pattern with require statements. This structure keeps config modular and manageable during migration.

Do I need to rewrite my entire Neovim config when switching to NixOS home-manager?

No. You can migrate settings incrementally without a full rewrite. Move individual configurations into assets/nvim/lua/user/, integrate them step-by-step via home.nix, and apply changes with home-manager switch for consistent, reproducible results.

How does the extraLuaConfig pattern work in home-manager for Neovim?

extraLuaConfig in home.nix allows you to load Lua modules from assets/nvim/lua/user/ using require statements. This pattern keeps configuration declarative, version-controlled, and synchronized across environments when you run home-manager switch.