Suivant: , Monter: Services du dossier personnel   [Table des matières][Index]


13.3.1 Services personnels essentiels

Il y a quelques services essentiels définis dans (gnu services), ils sont surtout utilisés en interne et sont requis pour construire un environnement personnel, mais certains vous seront utiles.

Variable Scheme : home-environment-variables-service-type

Le service de ce type sera instancié par chaque environnement personnel automatiquement par défaut, il n’y a pas besoin de le définir, mais vous voudrez peut-être l’étendre avec une liste de paires pour initialiser certaines variables d’environnement.

(list ("ENV_VAR1" . "valeur1")
      ("ENV_VAR2" . "valeur2"))

The easiest way to extend a service type, without defining a new service type is to use the simple-service helper from (gnu services).

(simple-service 'un-service-de-variables-utiles
		home-environment-variables-service-type
		`(("LESSHISTFILE" . "$XDG_CACHE_HOME/.lesshst")
                  ("SHELL" . ,(file-append zsh "/bin/zsh"))
                  ("USELESS_VAR" . #f)
                  ("_JAVA_AWT_WM_NONREPARENTING" . #t)))

Si vous incluez un tel service dans votre définition d’environnement personnel, il ajoutera le contenu suivant au script setup-environment (qui doit être sourcé par le shell de connexion) :

export LESSHISTFILE=$XDG_CACHE_HOME/.lesshst
export SHELL=/gnu/store/2hsg15n644f0glrcbkb1kqknmmqdar03-zsh-5.8/bin/zsh
export _JAVA_AWT_WM_NONREPARENTING

Remarque : Assurez-vous que le module (gnu packages shells) est importé avec use-modules ou d’une autre façon ; cet espace de nom contient la définition du paquet zsh, utilisé dans l’exemple précédent.

La liste d’association (voir Association Lists dans le manuel de référence de Guile) est une structure de données contenant des paires de clé-valeurs. Pour home-environment-variables-service-type la clé est toujours une chaine, la valeur peut être une chaine, une gexp s’évaluant en une chaine (voir G-Expressions), un objet simili-fichier (voir file-like object) ou un booléen. Pour les gexps, la variable sera initialisée à la valeur de la gexp ; pour les objets simili-fichiers, elle sera initialisée au chemin du fichier dans le dépôt (voir Le dépôt) ; pour #t, la variable sera exportée sans valeur et pour #f, la variable sera omise.

Variable Scheme : home-profile-service-type

The service of this type will be instantiated by every home environment automatically, there is no need to define it, but you may want to extend it with a list of packages if you want to install additional packages into your profile. Other services, which need to make some programs available to the user will also extend this service type.

La valeur d’extension est simplement une liste de paquets :

(list htop vim emacs)

Vous pouvez utiliser la même approche avec simple-service (voir simple-service) que pour home-environment-variables-service-type . Assurez-vous que les modules contenant les paquets spécifiés sont importés avec use-modules. Pour trouver un paquet ou des informations à propos de son module utilisez guix search voir Invoquer guix package). Autrement, vous pouvez utiliser specification->package pour récupérer l’enregistrement de paquet à partir d’une chaine sans importer le module correspondant.

Il y a quelques autres services essentiels, mais vous n’avez pas besoin de les étendre.

Variable Scheme : home-service-type

La racine du graphe des services personnels, elle génère un dossier qui sera plus tard lié à partir de ~/.guix-home, il contient les configurations, le profil avec les binaires et les bibliothèques et certains scripts nécessaires pour tout faire fonctionner ensemble.

Variable Scheme : home-run-on-first-login-service-type

Le service de ce type génère un script Guile qui devrait être lancé par le shell de connexion. Il n’est exécuté que si le fichier spécial dans XDG_RUNTIME_DIR n’a pas été créé, ce qui évite les exécutions supplémentaires de ce script si plusieurs shells de connexion sont ouverts.

It can be extended with a gexp. However, to autostart an application, users should not use this service, in most cases it’s better to extend home-shepherd-service-type with a Shepherd service (voir Services Shepherd), or extend the shell’s startup file with the required command using the appropriate service type.

Variable Scheme : home-activation-service-type

Le service de ce type génère un script guile qui est lancé à chaque invocation de guix home reconfigure ou n’importe quelle autre action qui active l’environnement personnel.


Suivant: , Monter: Services du dossier personnel   [Table des matières][Index]