← Retour au blog
tech 10 août 2026

nixpkgs-multiverse : Toutes les versions jamais existées

Découvrez nixpkgs-multiverse, une solution révolutionnaire pour gérer toutes les versions de paquets NixOS en un seul flocon. Un must pour les développeurs et administrateurs système.

Article inspiré de la source originale
nixpkgs-multiverse: every version that ever existed ↗ fzakaria.com

Introduction

La gestion des dépendances et des versions de paquets peut rapidement devenir un cauchemar pour les développeurs et les administrateurs système. Imagine que tu mets à jour ton système et qu'un paquet dont tu dépends n'est plus disponible dans la version que tu utilises. C'est le problème que nixpkgs-multiverse vise à résoudre. Ce projet offre un accès à chaque version de chaque paquet jamais existé dans Nixpkgs, tout cela à partir d'un seul flocon.

Le problème avec les versions de paquets

Dans le monde des distributions Linux, la gestion des versions de paquets est une tâche complexe. La plupart des distributions choisissent de mettre à jour les paquets pour des raisons de sécurité ou de fonctionnalités, mais cela peut casser des outils ou des workflows qui dépendent de versions spécifiques. Avec NixOS, bien que les flocons offrent une certaine flexibilité, chaque entrée Nixpkgs dans un flocon est comme un univers distinct. Si tu as besoin de plusieurs versions, tu dois jongler entre plusieurs inputs.

L'idée derrière nixpkgs-multiverse

Le concept de nixpkgs-multiverse est simple mais puissant : avoir chaque version de chaque paquet à portée de main sans avoir à gérer plusieurs entrées Nixpkgs. Par exemple, si tu as besoin de Python 3.6.2 pour un projet legacy mais que tu veux aussi tester Python 3.14.6, nixpkgs-multiverse te permet de le faire sans effort. Tu peux simplement exécuter une commande comme :

``bash $ nix run 'github:fzakaria/nixpkgs-multiverse#versions.python3."3.6.2"' -- --version ``

Avantages concrets pour les développeurs

Cette approche offre plusieurs avantages. Premièrement, elle élimine le besoin d'ajouter des entrées Nixpkgs multiples et réduit la complexité de la gestion des dépendances. Elle te permet également de tester de nouvelles versions de paquets sans trop d'efforts. Pour un développeur, cela signifie moins de temps passé à déboguer des problèmes de version et plus de temps à se concentrer sur le développement de fonctionnalités.

Comment ça marche ?

Nixpkgs-multiverse fonctionne en utilisant un flocon unique qui référence toutes les versions de paquets disponibles. Tu peux interroger facilement le flocon pour obtenir une liste de toutes les versions d'un paquet donné. Par exemple :

``bash $ nix eval --json --apply 'f: f "python3"' \ github:fzakaria/nixpkgs-multiverse#multiverse.x86_64-linux.versionsOf ``

Ce type de fonctionnalité est particulièrement utile pour les tests de régression et la compatibilité ascendante, où il est crucial d'assurer que les nouvelles versions de logiciels fonctionnent correctement avec des versions spécifiques de dépendances.

Cas d'usage réel

Prenons l'exemple d'une entreprise qui utilise un ensemble spécifique d'outils pour le développement de logiciels embarqués. Ces outils dépendent de versions précises de certaines bibliothèques C++. En utilisant nixpkgs-multiverse, cette entreprise peut facilement maintenir son environnement de développement stable tout en expérimentant avec de nouvelles versions pour des améliorations futures.

Conclusion

Nixpkgs-multiverse est une avancée significative pour ceux qui nécessitent une gestion fine des versions de paquets. Il simplifie grandement le processus et offre une flexibilité rarement vue dans d'autres systèmes de gestion de paquets. Que tu sois un développeur individuel ou que tu gères une grande infrastructure, l'adoption de cette solution pourrait transformer ta manière de gérer les dépendances.

Discutons de ton projet en 15 minutes.

nixpkgs-multiverse version management NixOS dependency management software development
Newsletter Deepthix · 100% IA · chaque lundi 8h

Un agent IA lit la tech à ta place.

Notre agent IA scanne ~200 sources par semaine et te livre les meilleurs articles le lundi 8h. Gratuit. 1 clic pour se désinscrire.

Voir la page newsletter →

Tu veux automatiser tes opérations ?

Discutons de ton projet en 15 minutes.

Réserver un call