Yazelix Nova : un espace de travail terminal orienté popups, empaqueté avec Nix
Yazelix Nova est un espace de travail de terminal orienté pop-up, packagé Nix, pour une utilisation locale et SSH. Il combine Mars (un émulateur de terminal dérivé de Rio) avec des forks Zellij et Helix appartenant à Yazelix, Yazi, Nushell, Lazygit, Ratconfig, des agents de codage facultatifs, une barre de widgets configurable pour l'utilisation du CPU, de la RAM et de l'IA, des effets de curseur et des animations de terminal.
En bref
- De quoi s’agit-il ?
- Yazelix Nova combine le terminal Mars dérivé de Rio, les forks Yazelix de Zellij et Helix, Yazi et Nushell dans un espace de travail empaqueté avec Nix.
- À qui s’adresse-t-il ?
- Le dépôt Yazelix Nova contient 25 905 lignes de fichiers texte de projet suivis, hors Beads, fichiers de verrouillage et ressources binaires, selon le scorecard reproductible de la documentation. Le dépôt est en développement actif avec 26 problèmes ouverts et est distribué sous licence Apache 2.0.
- Puis-je l’utiliser commercialement ?
- Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
- En quel langage est-il écrit ?
- Principalement Rust, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Ce que Nova assemble
Yazelix Nova est un espace de travail terminal empaqueté avec Nix, conçu pour un usage local et via SSH. Il combine Mars, un émulateur de terminal dérivé de Rio, avec des forks de Zellij et Helix appartenant à Yazelix, plus Yazi, Nushell, un popup Lazygit, Ratconfig pour la configuration, un popup d'agent de codage optionnel, une barre de widgets configurable pour l'utilisation CPU, RAM et IA, des effets de curseur et des animations de terminal. Les métadonnées du dépôt indiquent que le langage est Rust, et le README identifie le projet comme une version bêta. Le README ne mentionne pas d'autres mainteneurs que le propriétaire du dépôt et ne fournit pas de liste de contributeurs.
La comparaison Nova contre Classic
Le README oppose Nova à une version précédente nommée Classic. Il indique que Classic était gonflé et reposait sur un modèle de propriété où le dépôt principal servait de runtime produit, de plan de contrôle des composants, de système de réparation de configuration, de couche de compatibilité et de boîte à outils de maintenance. Nova donne plutôt aux composants propriétaires Yazelix des limites de paquets fermes, chaque composant possédant son implémentation et son contrat. Le README rapporte que Nova compte 22 699 lignes de code et de configuration contre 91 545 pour Classic, une réduction de 75 %, et que le seul code Rust de Classic était 3,6 fois plus grand que toute la surface de code et de configuration de Nova. Ces chiffres proviennent du tableau de comparaison du README.
Installation, canaux et plateformes
Le README indique que Yazelix Nova nécessite Nix avec les flakes activés. Il décrit deux chemins de lancement : `yzx launch` ouvre l'espace de travail de bureau via Mars, et `yzx enter` démarre l'espace de travail dans le terminal actuel ou via SSH. Trois canaux sont documentés : la branche `stable` avance au plus une fois par semaine à partir d'une révision `main` vérifiée et utilisée en interne, `main` est pour des mises à jour plus fréquentes, et `edge` est le canal expérimental opt-in. Les lanceurs Linux affichent le canal sélectionné comme `Yazelix Nova (Stable)`, `Yazelix Nova (Main)` ou `Yazelix Nova (Edge)`. Le README indique que Linux est la plateforme utilisée en interne, que le CI construit tous les paquets et une activation Home Manager sur `aarch64-darwin`, et que l'utilisation interactive soutenue de macOS bêta n'a trouvé aucune régression connue, tandis que la liste de contrôle par commande et l'interface graphique Mars restent non vérifiées.
Les commandes documentées et les cinq premières minutes
Le README liste plusieurs commandes `yzx`. `yzx tutor begin` démarre une visite guidée, `yzx help` liste toutes les commandes, et `yzx doctor` vérifie la configuration du runtime possédé sans ouvrir Mars ou Zellij. Dans Yazelix, `Alt Shift M` ouvre la palette de commandes. Le README documente également Ratconfig, ouvert avec `Alt Shift K`, une interface de configuration avec des raccourcis clavier pour la navigation par onglets, la recherche, les actions contextuelles et la gestion des overrides. Il décrit des touches d'espace de travail qui étendent le modèle de mouvement `h/j/k/l` de Helix/Vim, avec les couches `Alt` et `Ctrl Alt` déplaçant le focus, les onglets ou les panneaux, et une couche `Alt Shift` regroupant quatre surfaces d'espace de travail : Sidebar, Git, Ratconfig et Agent. Les touches de popup basculent Yazi avec `Alt Shift Y`, le menu de commandes avec `Alt Shift M` et un visuel aléatoire plein écran temporaire avec `Alt Shift S`.
Variantes de paquets et composants propriétaires
Les noms de paquets suivent le modèle `yazelix[-no-mars][-no-helix][-no-yazi]`. Chaque suffixe supprime ce paquet géré tout en conservant l'intégration autour de lui. Un tableau du README liste huit variantes, du paquet complet `yazelix` à `yazelix-no-mars-no-helix-no-yazi`. `yazelix-main` et `yazelix-edge` sont des sorties de canal de paquets complets avec des identités distinctes de lanceur Linux et de session. Le README liste également les composants propriétaires : Mars, le fork Yazelix de Zellij, le fork Yazelix de Helix, les plugins Zellij dont Pane Orchestrator, Popup et Bar, plus Ratconfig, Yazelix Screen, Yazelix Cursors, Yazi Bistro, auto-layout.yazi et le fork zjstatus.
Le modèle de configuration
`yzx config` ouvre l'interface de configuration basée sur Ratconfig au-dessus d'un arbre géré dans `~/.config/yazelix/`. Le README indique que Yazelix hérite des défauts empaquetés et ne persiste que les overrides explicites. L'interface de configuration combine les paramètres recommandés dans une vue Overview et les inventaires complets des propriétaires dans All. La modifiabilité varie selon le composant : Mars et Yazi ont des contrôles à choix finis modifiables, tandis que les lignes de Helix restent en lecture seule car Helix ne publie pas de catalogue de configuration lisible par machine. `appearance.mode` sélectionne `dark` ou `light` pour les composants Yazelix gérés et contrôle aussi la palette de Ratconfig. Le README décrit comment le mode d'apparence se propage à Mars, Zellij et Yazi, y compris comment Zellij résout la paire de thèmes sombre ou clair correspondante et comment Yazi utilise des pools de saveurs sombres et claires empaquetés de Yazi Bistro.
Migration et points de vérification
Le README comprend une section de migration depuis Classic. Classic v17.12 a un pont qui traduit les fichiers mutables Classic `settings.jsonc` ou `config.toml` en configuration Nova, mais il ne réécrit pas les déclarations Home Manager ni les fichiers appartenant à Home Manager. Le README indique que le basculement vers Nova remplace intentionnellement l'ancien historique `main`, donc les clones Git existants devraient être remplacés par un nouveau clone plutôt que mis à jour avec un pull ordinaire. Classic reste disponible dans la branche gelée `classic`, et le tag immuable `v17.12` reste le pont de migration et de rollback. Après le basculement, `yzx doctor` signale l'état Classic reconnu comme des avertissements en lecture seule. Le matériel source n'établit pas de benchmarks de performance, de garanties de sécurité ou de résultats de production.
Conclusion éditoriale
Le dépôt Yazelix Nova contient 25 905 lignes de fichiers texte de projet suivis, hors Beads, fichiers de verrouillage et ressources binaires, selon le scorecard reproductible de la documentation. Le dépôt est en développement actif avec 26 problèmes ouverts et est distribué sous licence Apache 2.0.
Notes de la communauté