À propos du projet

Nixtastic établit un espace de travail unifié pour le développement Meshtastic en utilisant les Nix flakes. Il crée une structure de répertoire unique hébergeant plusieurs dépôts Meshtastic (firmware, android, apple, etc.) tout en fournissant à chacun son environnement de développement spécifique. L'outil configure automatiquement des shells de développement avec précisément les dépendances requises pour chaque dépôt — incluant les JDK, le SDK Android, PlatformIO, buf et Node — éliminant ainsi la configuration manuelle. Les capacités clés incluent : - Synchronisation des dépôts : récupère et signale les écarts entre tous les dépôts, avec un pulling fast-forward sécurisé - Shells de développement sensibles au contexte : active automatiquement la toolchain correcte lors de l'entrée dans le répertoire d'un dépôt - Gestion des worktrees : crée des branches isolées avec l'outillage approprié pour des tâches de développement concurrentes - Bootstrapping du SDK Android : installe et fixe des packages spécifiques du SDK Android - Diagnostics de l'espace de travail : vérifie la configuration correcte avec la commande 'doctor' - Intégration avec les outils de développement : fournit des fichiers générés pour l'intelligence du code et le support MCP Le système utilise direnv pour l'activation automatique du shell et nécessite Nix avec flakes sur Linux ou sur les systèmes Apple Silicon. Il inclut des shells spécialisés pour différents types de dépôts et fournit des commandes via un justfile pour les opérations courantes. La configuration de l'espace de travail implique la définition de MESHTASTIC_WORKSPACE, l'installation de Nix, le clonage du dépôt, la configuration de direnv et l'exécution de la synchronisation initiale.