2025-11-08T15:32:14+01:00
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# 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
|
||||
```bash
|
||||
# Test the current configuration by running nixvim
|
||||
nix run .
|
||||
|
||||
# Verify configuration is not broken
|
||||
nix flake check .
|
||||
```
|
||||
|
||||
### Installation
|
||||
```bash
|
||||
# Install the configuration to user profile (first time)
|
||||
./install.sh
|
||||
# or manually:
|
||||
nix profile install .
|
||||
|
||||
# Update existing installation
|
||||
./update.sh
|
||||
```
|
||||
|
||||
### Git Workflow Scripts
|
||||
```bash
|
||||
# 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
|
||||
Reference in New Issue
Block a user