Guix useful commands tuto

Table of Contents

This file is for reminding nice commands to use on guix system

Commandes utiles

Useful gneral commands

Gestion des paquets

  • guix package --install <package> : Installe le paquet spécifié.
  • guix package --upgrade <package> : Met à jour le paquet spécifié.
  • guix package --remove <package> : Supprime le paquet spécifié.
  • guix package --list : Liste tous les paquets installés.

Recherche de paquets

  • guix search <search-term> : Recherche des paquets contenant le terme spécifié.
  • guix describe <package> : Affiche la description du paquet spécifié, y compris ses dépendances et sa taille.

Gestion des configurations

  • guix package --set-default <package> : Définit le paquet spécifié comme défaut pour les applications qui en ont besoin.
  • guix package --unset-default <package> : Supprime la configuration du paquet spécifié comme défaut.

Gestion des réplications

  • guix replicate : Crée une nouvelle réplication de l'environnement courant.
  • guix switch-to-repl <name> : Active la réplication spécifiée.
  • guix delete-repl <name> : Supprime la réplication spécifiée.

Gestion des dépôts

  • guix archive --generate : Génère un fichier d'archive contenant tous les paquets installés.
  • guix archive --apply <file> : Applique le fichier d'archive spécifié pour restaurer les paquets installés.

Autres

  • guix shell : Ouvre une nouvelle session de shell avec les variables d'environnement et les chemins définis par Guix.
  • guix config : Affiche ou modifie la configuration de Guix, y compris les répertoires de recherche et les options de téléchargement.

Commandes nécessaires pour Emacs

Lancer la commande ci-dessous dans un terminal sinon Emacs en mode server ne fonctionnera pas (Emacs se fige)

xhost +SI:localuser:$USER

Configurer son système

sudo -E guix system reconfigure ~/.config/guix/system.scm

Guix shell

Lancer la commande guix shell -m manifest.scm avec un fichier manifest.scm contenant les lignes ci-dessous. Nota: ce fichier peut être réé avec la commande ci-après:

guix shell --export-manifest -D guile git emacs emacs-geiser emacs-geiser-guile > manifest.scm

Cela donne le contenu ci-après:

(concatenate-manifests
  (list (specifications->manifest
          (list "git"
                "emacs"
                "emacs-geiser"
                "emacs-geiser-guile"))
        (package->development-manifest
          (specification->package "guile"))))

Fichier de configuration de xguix

;; Ceci est une configuration de système d'exploitation générée par
;; l'installateur graphique.
;;
;; Une fois l'installation terminée, vous pouvez apprendre à modifier
;; ce fichier pour ajuster la configuration du système et le passer à
;; la commande « guix system reconfigure » pour rendre vos changements
;; effectifs.


;; Indique quels modules importer pour accéder aux variables
;; utilisées dans cette configuration.
(use-modules (gnu) (nongnu packages linux))
(use-service-modules cups desktop networking ssh xorg)

(operating-system
  (kernel linux)
  (firmware (list linux-firmware))
  (locale "fr_FR.utf8")
  (timezone "Europe/Paris")
  (keyboard-layout (keyboard-layout "fr"))
  (host-name "xguix")

  ;; La liste des comptes utilisateurs (« root » est implicite).
  (users (cons* (user-account
                  (name "xavier")
                  (comment "Xavier")
                  (group "users")
                  (home-directory "/home/xavier")
                  (supplementary-groups '("wheel" "netdev" "audio" "video")))
                %base-user-accounts))
  (packages (append (list (specification->package "xhost") ;; Sinon le lancement Emacs se fige
                          (specification->package "openbox")
                          (specification->package "awesome")
                          (specification->package "i3-wm")
                          (specification->package "i3status")
                          (specification->package "dmenu")
                          (specification->package "st")
                          (specification->package "ratpoison")
                          (specification->package "xterm")
                          (specification->package "emacs")
                          (specification->package "emacs-exwm")
                          (specification->package
                           "emacs-desktop-environment")
                          (specification->package "nss-certs"))
                    %base-packages))

  ;; Voici la liste des services du système.  Pour trouver les services disponibles,
  ;; lancez « guix system search MOT-CLÉ » dans un terminal.
  (services
   (append (list (service gnome-desktop-service-type)
                 (service mate-desktop-service-type)

                 ;; Pour configurer OpenSSH, passez un enregistrement « openssh-configuration »
                 ;; en deuxième argument à « service » ci-dessous.
                 (service openssh-service-type)
                 (service tor-service-type)
                 (service cups-service-type)
                 (set-xorg-configuration
                  (xorg-configuration (keyboard-layout keyboard-layout))))

           ;; Voici la liste des services par défaut à laquelle nous
           ;; ajoutons nos propres services.
           %desktop-services))
  (bootloader (bootloader-configuration
                (bootloader grub-bootloader)
                (targets (list "/dev/sda"))
                (keyboard-layout keyboard-layout)
                (menu-entries
                 (list
                 (menu-entry
                  (label "Ubuntu")
                  (linux "/boot/vmlinuz-5.15.0-52-generic")
                  (linux-arguments '("root=/dev/sda1"))
                  (initrd "/boot/initrd.img-5.15.0-52-generic"))))))

  ;; La liste des systèmes de fichiers qui seront « montés ». Les identifiants
  ;; de systèmes de fichiers uniques (« UUIDs ») qui se trouvent ici s'obtiennent
  ;; en exécutant « blkid » dans un terminal.
  (file-systems (cons* (file-system
                         (mount-point "/")
                         (device (uuid
                                  "6fbf6c02-2832-4f9f-a02c-673bb12bded6"
                                  'ext4))
                         (type "ext4")) %base-file-systems)))

History

history
guix upgrade
guix pull
guix package --list-generations
guix home container ./config.scm
fish_config theme
man fish-doc
man fish-tutorial
guix home container ./home-configuration.scm
guix home container config.scm
guix home import ~/src/guix-config
guix home --help
guix home
guix package -u
guix package -I
guix pull --news
emacs ./config_xlh.scm
cat /etc/profile
fish_config theme choose Fairground
fish_config theme choose Dracula
fish_config theme show
ssh-add
glances
guile
emacs -nw
xkill
guix install xkill
guix install font-fira-code
guix install mc
cd Config
ls -la
git clone https://gitlab.xlhcloud.fr/Prog/Config
mkdir OrgFiles
guix install git
gnome-shell
df -h
cat /etc/hosts

Mon Blog — généré avec Emacs Org-mode