No description
| .forgejo/workflows | ||
| nix | ||
| nvim | ||
| tests | ||
| .envrc | ||
| .gitignore | ||
| .stylua.toml | ||
| AGENTS.md | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
Конфигурация Neovim для Nix
Nix-flaked конфигурация Neovim с расширенным менеджментом плагинов и интеграцией AI-инструментов, поддерживаемая Jury Markin.
Особенности
- Nix-базированная упаковка для воспроизводимых, декларативных сборок Neovim
- Обширная экосистема плагинов с кастомными конфигурациями
- Интеграция AI-инструментов (Ollama, Airun, Gemini, OpenAI-совместимые)
- Многоязыковая поддержка с комплексными LSP-конфигурациями
- Разработанные инструменты для современных рабочих процессов кодирования
- Несколько вариантов сборки: полная, малая и минимальная конфигурации
Быстрый старт
Предварительные требования
- Менеджер пакетов Nix с включенными flakes
- Современный Neovim (рекомендуется 0.11+ для полной поддержки функций)
Установка
-
Установите полную конфигурацию:
nix profile install github:JMarkin/nvim-nix -
Установите минимальную версию (рекомендуется для большинства пользователей):
nix profile install github:JMarkin/nvim-nix#nvim-small -
Для разработки/тестирования, клонируйте и соберите локально:
git clone https://github.com/JMarkin/nvim-nix.git cd nvim-nix nix build .#nvim-small result/bin/nvim # Запустите собранный Neovim
Варианты пакетов
nvim: Полная конфигурация со всеми плагинами и функциямиnvim-small: Основные плагины и конфигурации (рекомендуется)nvim-minimal: Минимальная настройка для быстрого запускаcodingPackages: Пакет инструментов разработки
Основные особенности конфигурации
Интеграция AI
Конфигурация включает расширенные AI-инструменты:
- Ollama интеграция для локальных LLM
- Airun поддержка удаленных AI-сервисов
- Gemini и OpenAI-совместимая поддержка API
- CodeCompanion интеграция для AI-ассистированной разработки
Экосистема плагинов
Ключевые категории плагинов:
- Поддержка языков: LSP-конфигурации для Go, Python, Rust, JavaScript и других
- Навигация: Улучшенное перемещение, поиск и управление файлами
- Редактирование: Расширенное форматирование, комментирование, сворачивание и рефакторинг
- UI/UX: Кастомная строка состояния, цветовые схемы и улучшения интерфейса
- Продуктивность: Git-интеграция, управление терминалом и оптимизация рабочих процессов
Особенности разработки
- Встроенная поддержка LSP с автоматическим обнаружением серверов
- Treesitter интеграция для продвинутого синтаксического парсинга
- Многоязыковые среды разработки
- Кастомные ключевые карты для оптимизации продуктивности
- Управление сессиями и навигация по проектам
Разработка
Development Shell
Зайдите в среду разработки со всеми необходимыми инструментами:
nix develop
Это предоставляет:
lua-language-serverдля разработки на Luanixdдля разработки на Nixstyluaдля форматирования Lua-кодаluacheckдля Lua-линтинга- Автоматическую привязку к
~/.config/nvim-devдля тестирования
Сборка
# Собрать все варианты
nix build .
# Собрать конкретные варианты
nix build .#nvim
nix build .#nvim-small
nix build .#nvim-minimal
# Обновить версии плагинов
nix flake update
Тестирование конфигурации
Протестируйте изменения в режиме разработки:
# Из development shell
nvim -u ~/.config/nvim-dev/init.lua
Настройка
Добавление плагинов
Добавьте новые плагины в nix/neovim-overlay.nix:
- Добавьте входные данные плагина в
flake.nix - Создайте определение плагина с использованием
mkNvimPlugin - Добавьте в соответствующий список плагинов (
essential,codingи т.д.)
Изменение конфигурации
- Основная конфигурация:
nvim/init.lua - Конфигурация плагинов:
nvim/plugin/*.lua - Конфигурация языков:
nix/lang/*.nix - Конфигурация сборки:
nix/mkNeovim.nix
AI-конфигурация
Настройте AI-сервисы в nvim/lua/ai/adapters.lua:
- Установите переменные окружения для API-ключей/эндпоинтов
- Настройте предпочтения моделей и опции
- Настройте специфические настройки сервисов
Требования
- Nix с включенными flakes
- Neovim 0.10+ (рекомендуется 0.11+)
- Современный терминал с поддержкой truecolor
- Опционально: LLM-бэкинги для AI-функций (Ollama и т.д.)
Лицензия
MIT License - см. файл LICENSE для деталей.
Вклад
Приветствуются вклады! Пожалуйста:
- Тщательно тестируйте изменения
- Следуйте существующему стилю кода (форматирование stylua)
- Обновляйте документацию по мере необходимости
- Учитывайте влияние на время сборки и зависимости
Поддержка
- Issues: GitHub трекер задач
- Документация: AGENTS.md для детального руководства по разработке
- Конфигурация: Изучите
nvim/init.luaи файлы плагинов для примеров