Guix petit à petit (4) : les manifestes
Sommaire :
- Guix petit à petit (1) : les bases
- Guix petit à petit (2) : plus de profils
- Guix petit à petit (3) : transactions et générations
Jusqu'ici, je t'ai montré comment gérer tes paquets logiciels manuellement, dans des profils, avec la commande guix package
(et ses alias). Chacune de ces transactions crée une nouvelle génération d'un profil avec les modifications apportées.
Maintenant, je vais te montrer comment générer des profiles d'un seul coup avec ce qu'on appelle des manifestes !
Un manifest
est un fichier source en Guile, dont le contenu ressemble à ça :
;; manifest-guile-dev.scm
(specifications->manifest
'("emacs" "emacs-geiser" "emacs-paredit" "guile"))
Ce fichier peut alors être fourni en paramètre à la commande guix package
comme suit :
# génère le profile "guile-dev" à partir du manifest "manifest-guile-dev.scm"
$ guix package --manifest=/path/to/manifest-guile-dev.scm --profile=${HOME}/.profiles-preso/guile-dev
À chaque fois que cette commande sera exécutée, le profile sera régénéré avec les dernières versions des paquets listés (c'est donc la même commande pour installer et mettre à jour les paquets) ! Et ce indépendamment de toute modification manuelle du profile. C'est-à-dire que si je génère mon profile à partir d'un manifeste ; puis que j'ajoute un paquet à mon profile via guix install
; puis que je régénère mon profile avec le manifeste, le paquet ajouté avec guix install
ne sera pas présent dans la nouvelle génération.
Pour désinstaller un logiciel, il suffit d'éditer le manifeste et de supprimer le paquet en question.
Ensuite, il reste à activer le profile pour rendre la liste de logiciels accessibles :
GUIX_PROFILE="${HOME}/.profiles-preso/guile-dev" ; . "$GUIX_PROFILE"/etc/profile
Tu peux placer tes manifestes sous contrôle de version et ainsi les partager facilement, les inclure dans tes projets de développement logiciel, etc…
Liens utiles :
Merci beaucoup d'avoir lu cet article !
N'hésites pas à me donner ton avis, proposer une idée d'amélioration, ou poser une question ! Pour ce faire, laisses un commentaire plus bas ou contactes-moi
Abonnes-toi pour ne pas manquer les prochains :
– articles via Mastodon @jeko@write.as et RSS
– screencasts via Peertube jeko@video.tedomum.net et RSS
Et encore plus important, partages ce blog et dis à tes amis que c'est le meilleur blog de l'histoire du logiciel libre ! Sans dec'