Об этом проекте

Nixtastic создает единое рабочее пространство для разработки Meshtastic с использованием Nix flakes. Он формирует общую структуру каталогов, в которой размещаются несколько репозиториев Meshtastic (firmware, android, apple и т. д.), предоставляя каждому из них специфическую среду разработки. Инструмент автоматически настраивает dev-оболочки с точно определенными зависимостями для каждого репозитория, включая JDK, Android SDK, PlatformIO, buf и Node, что исключает необходимость ручной настройки. Ключевые возможности включают: - Синхронизация репозиториев: получение данных и отчет о расхождениях во всех репозиториях с безопасным выполнением fast-forward pull - Контекстно-зависимые оболочки разработки: автоматическая активация нужного инструментария при входе в каталог репозитория - Управление worktree: создание изолированных веток с соответствующим инструментарием для параллельных задач разработки - Загрузка Android SDK: установка и фиксация конкретных пакетов Android SDK - Диагностика рабочего пространства: проверка правильности конфигурации с помощью команды 'doctor' - Интеграция с инструментами разработки: предоставление сгенерированных файлов для анализа кода и поддержки MCP Система использует direnv для автоматической активации оболочки и требует наличия Nix с поддержкой flakes на системах Linux или Apple Silicon. Она включает специализированные оболочки для различных типов репозиториев и предоставляет команды через justfile для общих операций. Настройка рабочего пространства включает определение MESHTASTIC_WORKSPACE, установку Nix, клонирование репозитория, настройку direnv и запуск начальной синхронизации.