logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:gonzoleri:tutos:guixsd-0.16-en-dual-boot-avec-debian-testing-sid [22/07/2019 08:47]
gonzoleri [Installation]
utilisateurs:gonzoleri:tutos:guixsd-0.16-en-dual-boot-avec-debian-testing-sid [22/07/2019 09:57]
gonzoleri [Utilisation]
Ligne 257: Ligne 257:
 La mise-à-jour s'est effectuée beaucoup plus rapidement et, un redémarrage plus tard, Epiphany et Chromium se lancent et fonctionnent parfaitement bien. <note important>​Bien entendu, il arrivera un moment où la mise-à-jour intégrale redeviendre nécessaire. Il faudra à nouveau faire preuve de patience...</​note>​ À moins que... l'​écriture d'un fichier '​manifest'​ me permette de confiner mon profil logiciels de manière satisfaisante. En effet les mises-à-jour depuis un fichier manifest sont beaucoup plus rapides. Reste à mettre en place cette pratique... **Infos :** [[https://​www.gnu.org/​software/​guix/​manual/​fr/​html_node/​Invoquer-guix-package.html#​profile_002dmanifest]]</​note>​ La mise-à-jour s'est effectuée beaucoup plus rapidement et, un redémarrage plus tard, Epiphany et Chromium se lancent et fonctionnent parfaitement bien. <note important>​Bien entendu, il arrivera un moment où la mise-à-jour intégrale redeviendre nécessaire. Il faudra à nouveau faire preuve de patience...</​note>​ À moins que... l'​écriture d'un fichier '​manifest'​ me permette de confiner mon profil logiciels de manière satisfaisante. En effet les mises-à-jour depuis un fichier manifest sont beaucoup plus rapides. Reste à mettre en place cette pratique... **Infos :** [[https://​www.gnu.org/​software/​guix/​manual/​fr/​html_node/​Invoquer-guix-package.html#​profile_002dmanifest]]</​note>​
  
 +**Utilisation de "​manifest"​ pour gérer le profil de l'​utilisat(rice)ur,​ de manière déclarative,​ comme des "​packages"​ :**
 +
 +L'​écriture d'un fichier **'​manifest'​** va me permettre de confiner l'​environnement logiciel dans mon profil.
 +Les mises-à-jour se feront beaucoup plus rapidement, car elles seront relayées par un fichier **manifest.scm** créé dans mon ordinateur, plus exactement dans **~/​.config/​guix/​**
 +
 +En voici les différentes étapes :
 +
 +**1 -** Récupérer le script Guile suivant et l'​enregistrer à la racine du dossier personnel sous le nom de **'​manifest-to-manifest.scm'​**.
 +
 +<file scheme manifest-to-manifest.scm>​
 +;; Run with:
 +;;     guile -s FILE ~/​.guix-profile
 +
 +(use-modules (guix profiles)
 +      ​(ice-9 match)
 +      ​(ice-9 pretty-print))
 +
 +(define (guix-manifest where)
 +  (sort (map (lambda (entry)
 +      (let ((out (manifest-entry-output entry)))
 +        (if (string= out "​out"​)
 +    ​(manifest-entry-name entry)
 +    ​(format #f "​~a:​~a"​
 +    ​(manifest-entry-name entry)
 +    ​(manifest-entry-output entry)))))
 +    ​(manifest-entries (profile-manifest where)))
 + string<?​))
 +
 +;; Thanks to Ivan Vilata-i-Balaguer for this:
 +(define (guix-commit)
 +  (let ((guix-manifest (profile-manifest (string-append (getenv "​HOME"​) "/​.config/​guix/​current"​))))
 +    (match (assq '​source (manifest-entry-properties (car (manifest-entries guix-manifest))))
 +      (('​source ('​repository ('​version 0) _ _
 +      ​('​commit commit) _ ...))
 +       ​commit)
 +      (_ #f))))
 +
 +(match (command-line)
 +  ((_ where)
 +   ​(format #t ";; commit: ~a\n" (guix-commit))
 +   ​(pretty-print
 +    `(specifications->​manifest
 +      ',​(guix-manifest where))))
 +  (_ (error "​Please provide the path to a Guix profile."​)))
 +</​file>​
 +
 +**2 -** Appeler le script :
 +
 +<code user>$ guile -s manifest-to-manifest.scm ~/​.guix-profile
 +;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
 +;;;       or pass the --no-auto-compile argument to disable.
 +;;; compiling /​home/​hubert/​manifest-to-manifest.scm
 +;;; compiled /​home/​hubert/​.cache/​guile/​ccache/​2.2-LE-8-3.A/​home/​hubert/​manifest-to-manifest.scm.go
 +;; commit: 6c.....................................a
 +(specifications->​manifest
 +  '​("​brasero"​
 +    "​ffmpeg"​
 +    "​gimp"​
 +    "​gnumeric"​
 +    "​inkscape"​
 +    "​lynx"​
 +    "​markdown"​
 +    "​mpv"​
 +    "​obs"​
 +    "​qemu"​
 +    "​quassel"​
 +    "​racket"​
 +    "​sbcl-next"​
 +    "​ungoogled-chromium"​
 +    "​wget"​
 +    "​youtube-dl"​
 +    "​youtube-viewer"​))
 +</​code>​
 +
 +Cette option --manifest accepte un fichier qui devrait renvoyer un manifeste
 +objet, et le script que vous exécutez le génère à partir de votre profil. Donc on
 +pout écrire la sortie de script "​(spécifications->​ manifest......)"​ dans un
 +fichier, par exemple: "~ / .config / guix / manifest.scm",​ puis utilisez "guix package -m
 +~ / .config / guix-manifest.scm "pour l’appliquer.
 +
 +**3 -** Création de ce nouveau fichier scheme, perso avec gedit :
 +
 +<code user>$ gedit</​code>​
 +
 +<file scheme ~/​.config/​guix/​manifest.scm>​
 +(specifications->​manifest
 +  '​("​brasero"​
 +    "​ffmpeg"​
 +    "​gimp"​
 +    "​gnumeric"​
 +    "​inkscape"​
 +    "​lynx"​
 +    "​markdown"​
 +    "​mpv"​
 +    "​obs"​
 +    "​qemu"​
 +    "​quassel"​
 +    "​racket"​
 +    "​sbcl-next"​
 +    "​ungoogled-chromium"​
 +    "​wget"​
 +    "​youtube-dl"​
 +    "​youtube-viewer"​))
 +</​file>​
 +
 +Je le nomme "​manifest.scm"​ et l'​enregistre dans ~/​.config/​guix/​
 +
 +**4 -** Arrive l'​étape d'​installation,​ de mise-à-jour,​ de compilation et de construction de ce fichier :
 +
 +<code user>$ guix package -m ~/​.config/​guix/​manifest.scm</​code> ​
 +
 +Maintenant les mises-à-jour sont nettement plus rapides, le fichier ayant bien été pris en compte.
 +
 +A noter qu'il a fallu, pour valider ceci, effectuer les habituelles commandes **'​guix pull'​**,​ **'​guix package -u'**, **'​guix system reconfigure /​etc/​config.scm'​** et **'​reboot'​**.
 +
 +Cette nouvelle situation est d'​autant plus apréciable que j'​habite dans une zone non dégroupée.
 + 
  
 **Installation de logiciels** **Installation de logiciels**
utilisateurs/gonzoleri/tutos/guixsd-0.16-en-dual-boot-avec-debian-testing-sid.txt · Dernière modification: 27/08/2020 17:27 par gonzoleri

Pied de page des forums

Propulsé par FluxBB