GNU Guix

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
GNU Guix
Description de l'image Guix logo.svg.

Informations
Créateur Ludovic Courtès (d)Voir et modifier les données sur Wikidata
Développé par Projet GNUVoir et modifier les données sur Wikidata
Première version [1]Voir et modifier les données sur Wikidata
Dernière version 1.1.0 ()[2],[3]Voir et modifier les données sur Wikidata
Dépôt git.savannah.gnu.org/cgit/guix.gitVoir et modifier les données sur Wikidata
Écrit en Guile Scheme, C++ (Nix core)
Système d'exploitation GNU/Linux et GNU/Hurd (d)Voir et modifier les données sur Wikidata
Environnement GNU, GNU/Linux
Type Gestionnaire de paquetsVoir et modifier les données sur Wikidata
Politique de distribution Gratuit
Licence GPL-3.0+ (d)Voir et modifier les données sur Wikidata
Site web guix.gnu.orgVoir et modifier les données sur Wikidata

GNU Guix est un gestionnaire de paquets pour GNU. Il est inspiré par le gestionnaire de paquets Nix (en), son principal apport est l’interface de programmation GNU Guile et sa spécialisation dans la fourniture de logiciels libres[4]. Au mercredi 29 avril 2020, GNU Guix permet d’installer 13 117 paquets[5].

Histoire[modifier | modifier le code]

Le projet GNU annonce en novembre 2012 la sortie d’un gestionnaire de paquets purement fonctionnel utilisant Guile comme interface de programmation[6]. Le projet est initié dès juin 2012 par l’un des principaux hackeurs GNU du projet Guile, Ludovic Courtès, lequel présenta la solution un an plus tard, à Madrid, lors de la conférence European Lisp Symposium 2013[7].

Caractéristiques[modifier | modifier le code]

Transactionnel[modifier | modifier le code]

GNU Guix est transactionnel. Il est possible à tout moment de revenir en arrière dans les versions des paquets installés. De la même façon, si une mise à jour échoue au milieu du processus, le système n'est pas altéré[8].

Reproductible[modifier | modifier le code]

GNU Guix est reproductible. Le même paquet avec les mêmes informations de compilation donnent toujours le même résultat binaire. Cela permet de simplifier le déploiement d'environnements identiques[8].

Profils[modifier | modifier le code]

Chaque utilisateur dispose de son propre profil. Cela permet à différents utilisateurs d'avoir un même paquet dans une version différente. Aussi, chaque utilisateur peut avoir ses propres paquets sans forcément les partager avec les autres utilisateurs[9].

Environnements[modifier | modifier le code]

Il est possible de créer des environnements avec des paquets spécifiques. Cela permet de disposer de certains paquets seulement le temps de l'existence de l'environnement et de ne pas avoir à installer les paquets sur son profil. Il est aussi possible d'ignorer les variables d'environnement existantes pour disposer d'un environnement qui ne contient que les paquets spécifiés[10].

Sur les autres projets Wikimedia[modifier | modifier le code]

Références[modifier | modifier le code]

  1. « https://savannah.gnu.org/projects/guix/ » (consulté le 19 août 2016)
  2. (en) Ludovic Courtès (d), « GNU Guix 1.1.0 released », (consulté le 15 avril 2020)
  3. (en) « GNU Guix 1.1 Released With PulseAudio & Other Services, 3k+ New Packages », (consulté le 15 avril 2020)
  4. (en) Ludovic Courtès, « Functional Package Management with Guix », sur Wikisource, European Lisp Symposium, Madrid, Espagne,
  5. (en) « Packages », sur www.gnu.org
  6. icône Wikinews « Informatique : le projet GNU annonce la sortie d’un nouveau gestionnaire de paquets », sur Wikinews, 23 novembre 2012.
  7. (en) « European Lisp Symposium 2013 », sur www.european-lisp-symposium.org, Madrid, Espagne, 3-4 juin 2013 (consulté le 25 octobre 2015)
  8. a et b « GNU Guix 1.0.0 released — 2019 — Blog — GNU Guix », sur guix.gnu.org (consulté le 29 avril 2020)
  9. « Features (GNU Guix Reference Manual) », sur guix.gnu.org (consulté le 30 avril 2020)
  10. « Invoking guix environment (GNU Guix Reference Manual) », sur guix.gnu.org (consulté le 30 avril 2020)

Articles connexes[modifier | modifier le code]

Le projet Guix est présentement responsable du développement des projets Guix System et Shepherd :