No description
Find a file
2025-12-07 01:27:35 +03:00
.forgejo/workflows up 2025-09-18 16:17:24 +03:00
nix disable zuban to ty 2025-12-07 01:26:34 +03:00
nvim disable zuban to ty 2025-12-07 01:26:34 +03:00
tests disable zuban to ty 2025-12-07 01:26:34 +03:00
.envrc complete rework 2025-09-07 00:54:11 +03:00
.gitignore init 2025-09-06 13:48:36 +03:00
.stylua.toml init 2025-09-06 13:48:36 +03:00
AGENTS.md remvoe snacks; remove avante 2025-11-26 02:23:32 +03:00
flake.lock refactoring not nixpkgs plugins; compelte treesitter-main 2025-12-06 15:42:05 +03:00
flake.nix change bin cache 2025-12-07 01:27:35 +03:00
LICENSE init 2025-09-06 13:48:36 +03:00
Makefile init 2025-09-06 13:48:36 +03:00
README.md remvoe snacks; remove avante 2025-11-26 02:23:32 +03:00

Конфигурация Neovim для Nix

Nix-flaked конфигурация Neovim с расширенным менеджментом плагинов и интеграцией AI-инструментов, поддерживаемая Jury Markin.

Особенности

  • Nix-базированная упаковка для воспроизводимых, декларативных сборок Neovim
  • Обширная экосистема плагинов с кастомными конфигурациями
  • Интеграция AI-инструментов (Ollama, Airun, Gemini, OpenAI-совместимые)
  • Многоязыковая поддержка с комплексными LSP-конфигурациями
  • Разработанные инструменты для современных рабочих процессов кодирования
  • Несколько вариантов сборки: полная, малая и минимальная конфигурации

Быстрый старт

Предварительные требования

  • Менеджер пакетов Nix с включенными flakes
  • Современный Neovim (рекомендуется 0.11+ для полной поддержки функций)

Установка

  1. Установите полную конфигурацию:

    nix profile install github:JMarkin/nvim-nix
    
  2. Установите минимальную версию (рекомендуется для большинства пользователей):

    nix profile install github:JMarkin/nvim-nix#nvim-small
    
  3. Для разработки/тестирования, клонируйте и соберите локально:

    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 для разработки на Lua
  • nixd для разработки на Nix
  • stylua для форматирования 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:

  1. Добавьте входные данные плагина в flake.nix
  2. Создайте определение плагина с использованием mkNvimPlugin
  3. Добавьте в соответствующий список плагинов (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 для деталей.

Вклад

Приветствуются вклады! Пожалуйста:

  1. Тщательно тестируйте изменения
  2. Следуйте существующему стилю кода (форматирование stylua)
  3. Обновляйте документацию по мере необходимости
  4. Учитывайте влияние на время сборки и зависимости

Поддержка

  • Issues: GitHub трекер задач
  • Документация: AGENTS.md для детального руководства по разработке
  • Конфигурация: Изучите nvim/init.lua и файлы плагинов для примеров