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 →
Ci-dessous, les différences entre deux révisions de la page.
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 18:41] gonzoleri [Installation] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : Installation en Dual Boot | * Objet : Installation en Dual Boot | ||
- | * Niveau requis :{{tag>avisé}} | + | * Niveau requis :{{tag>avisé}} L'installation de **Guix System 1.0.1** ne devrait pas être très différente à effectuer (non testé). |
* Commentaires : [[https://www.gnu.org/software/guix/manual/html_node/GNU-Free-Documentation-License.html]] | * Commentaires : [[https://www.gnu.org/software/guix/manual/html_node/GNU-Free-Documentation-License.html]] | ||
* Débutant, à savoir : [[https://www.gnu.org/software/guix/manual/fr/guix.fr.html]] :-) | * Débutant, à savoir : [[https://www.gnu.org/software/guix/manual/fr/guix.fr.html]] :-) | ||
Ligne 106: | Ligne 106: | ||
<code root># mkswap /dev/sda5</code> | <code root># mkswap /dev/sda5</code> | ||
<code root># swapon /dev/sda5</code> | <code root># swapon /dev/sda5</code> | ||
- | **Procédons à l'installation** | + | ====C'est parti !==== |
Avec les partitions cibles prêtes et la racine cible montée sur /mnt, on est bon. Premièrement : | Avec les partitions cibles prêtes et la racine cible montée sur /mnt, on est bon. Premièrement : | ||
<code root># herd start cow-store /mnt</code> | <code root># herd start cow-store /mnt</code> | ||
Ligne 118: | Ligne 118: | ||
<code root># touch /etc/configuration/perso.scm</code> | <code root># touch /etc/configuration/perso.scm</code> | ||
<note tip>Sinon vous pouvez éditer un fichier existant déjà dans **///etc/configuration//** (par exemple, “**desktop.scm**” ou “**bare-bones.scm**” et le modifier à votre guise).</note> | <note tip>Sinon vous pouvez éditer un fichier existant déjà dans **///etc/configuration//** (par exemple, “**desktop.scm**” ou “**bare-bones.scm**” et le modifier à votre guise).</note> | ||
+ | ====Configuration en cours d'installation==== | ||
Pour adapter la configuration de l'ordinateur à mes besoins, j'ai utilisé **vi** , ne connaissant que celui-ci. | Pour adapter la configuration de l'ordinateur à mes besoins, j'ai utilisé **vi** , ne connaissant que celui-ci. | ||
Nano et Zile sont toutefois disponibles. | Nano et Zile sont toutefois disponibles. | ||
Ligne 273: | Ligne 273: | ||
**mpv** est un fork de mplayer. Légereté et fluidité à l'utilisation. | **mpv** est un fork de mplayer. Légereté et fluidité à l'utilisation. | ||
+ | |||
+ | Suite à ces installations, le système conseille de lancer : | ||
+ | |||
+ | <code user>$ export PATH="$HOME/.config/guix/current/bin:$PATH"</code> | ||
+ | <code user>$ export INFOPATH="$HOME/.config/guix/current/share/info:$INFOPATH"</code> | ||
+ | |||
+ | Source : | ||
+ | |||
+ | **[[https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-pull.html#Invoking-guix-pull]]** | ||
+ | |||
+ | **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 | ||
+ | peut é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. | ||
+ | |||
**Désinstallation de logiciels** | **Désinstallation de logiciels** | ||
Ligne 322: | Ligne 449: | ||
**Maintenance** | **Maintenance** | ||
- | |||
- | J'ai lancé les 2 commandes suivantes : | ||
- | |||
- | <code user>$ export PATH="$HOME/.config/guix/current/bin:$PATH"</code> | ||
- | <code user>$ export INFOPATH="$HOME/.config/guix/current/share/info:$INFOPATH"</code> | ||
- | |||
- | Source : | ||
- | |||
- | **[[https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-pull.html#Invoking-guix-pull]]** | ||
Avoir la garantie que 5 Go vont rester disponibles. Cette commande peut être lancée régulièrement : | Avoir la garantie que 5 Go vont rester disponibles. Cette commande peut être lancée régulièrement : |