Files
vim/CLAUDE.md
T
2025-11-08 15:32:14 +01:00

2.3 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Overview

This is a nixvim configuration repository that provides a standalone Neovim configuration using Nix flakes. The configuration is built using the nixvim framework, which allows declarative Neovim configuration through Nix expressions.

Development Commands

Testing Configuration

# Test the current configuration by running nixvim
nix run .

# Verify configuration is not broken
nix flake check .

Installation

# Install the configuration to user profile (first time)
./install.sh
# or manually:
nix profile install .

# Update existing installation
./update.sh

Git Workflow Scripts

# Switch to dev branch and pull latest changes
./pull.sh

# Commit changes with timestamp, merge to main, and push
./push.sh

Architecture

Core Structure

  • flake.nix: Main flake definition with nixpkgs, nixvim, and flake-parts inputs
  • config/: Contains all nixvim configuration modules
    • default.nix: Main configuration file with plugins, options, and keymaps
    • bufferline.nix: Example modular configuration for bufferline plugin
  • flake.lock: Dependency lockfile

Configuration System

The configuration uses nixvim's module system:

  • Configurations are split into logical modules in the config/ directory
  • Each module can be imported in config/default.nix
  • The main configuration includes essential plugins like Telescope, LSP support, Treesitter, and various productivity tools

Key Features Enabled

  • Nord colorscheme with line numbers and relative numbering
  • Comprehensive plugin suite including Telescope, nvim-tree, fugitive, lazygit
  • Auto-completion with cmp and all sources enabled
  • Custom keymap for hop (two-character jump) on 's' key
  • Tab width set to 2 spaces

Branch Strategy

  • main: Stable configuration
  • dev: Development branch for testing changes
  • Scripts automate switching and merging between branches

Adding New Configurations

  1. Create new .nix files in the config/ directory for specific feature sets
  2. Import them in config/default.nix using the imports array
  3. Test with nix run . before committing
  4. Use the git workflow scripts to maintain the branch structure