Suivant: Exécution de tâches planifiées, Monter: Services [Table des matières][Index]
Le module (gnu services base)
fournit des définitions de services
pour les services de base qu’on peut attendre du système. Les services
exportés par ce module sort listés ci-dessous.
Cette variable contient une liste de services de base (voir Types service et services, pour plus d’informations sur les objets service) qu’on peut attendre du système : un service de connexion (mingetty) sur chaque tty, syslogd, le démon de cache de noms de la libc (nscd), le gestionnaire de périphériques udev, et plus.
C’est la valeur par défaut du champ services
des déclarations
operating-system
. Habituellement, lors de la personnalisation d’un
système, vous voudrez ajouter des services à ceux de %base-services
,
comme ceci :
C’est le service qui met en place des « fichiers spéciaux » comme
/bin/sh ; une instance de ce service fait partie de
%base-services
.
The value associated with special-files-service-type
services must be
a list of two-element lists where the first element is the “special file”
and the second element is its target. By default it is:
`(("/bin/sh" ,(file-append bash "/bin/sh")) ("/usr/bin/env" ,(file-append coreutils "/bin/env")))
Si vous voulez ajouter, disons, /bin/bash
à votre système, vous
pouvez changer cela en :
`(("/bin/sh" ,(file-append bash "/bin/sh")) ("/usr/bin/env" ,(file-append coreutils "/bin/env")) ("/bin/bash" ,(file-append bash "/bin/bash")))
Comme cela fait partie de %base-services
, vous pouvez utiliser
modify-services
pour personnaliser l’ensemble des fichiers spéciaux
(voir modify-services
). Mais la manière la
plus simple d’ajouter un fichier spécial est via la procédure
extra-special-file
(voir ci-dessous).
Utilise target comme « fichier spécial » file.
Par exemple, ajouter l’une des lignes suivantes au champ services
de
votre déclaration de système d’exploitation crée un lien symbolique
/usr/bin/env :
(extra-special-file "/usr/bin/env"
(file-append coreutils "/bin/env"))
This procedure is meant for /bin/sh
, /usr/bin/env
and similar
targets. In particular, use for targets under /etc
might not work as
expected if the target is managed by Guix in other ways.
Type of the service that sets the system host name, whose value is a
string. This service is included in operating-system
by default
(voir essential-services
).
Installez les polices données sur les ttys spécifiés (les polices sont par
console virtuelle sur le noyau Linux). La valeur de ce service est une
liste de paires tty/polices. La police peut être le nom d’une police
fournie par le paquet kbd
ou tout argument valide de
setfont
, comme dans cet exemple :
`(("tty1" . "LatGrkCyr-8x16") ("tty2" . ,(file-append font-tamzen "/share/kbd/consolefonts/TamzenForPowerline10x20.psf")) ("tty3" . ,(file-append font-terminus "/share/consolefonts/ter-132n"))) ; pour HDPI
Type of the service that populates the entries for (/etc/hosts).
This service type can be extended by passing it a list of host
records.
The example below shows how to add two entries to /etc/hosts:
(simple-service 'add-extra-hosts
hosts-service-type
(list (host "192.0.2.1" "example.com"
'("example.net" "example.org"))
(host "2001:db8::1" "example.com"
'("example.net" "example.org"))))
Remarque : By default /etc/hosts comes with the following entries:
127.0.0.1 localhost host-name ::1 localhost host-nameFor most setups this is what you want though if you find yourself in the situation where you want to change the default entries, you can do so in
operating-system
viamodify-services
(voirmodify-services
).The following example shows how to unset host-name from being an alias of
localhost
.(operating-system ;; … (essential-services (modify-services (operating-system-default-essential-services this-operating-system) (hosts-service-type config => (list (host "127.0.0.1" "localhost") (host "::1" "localhost"))))))
Return a new record for the host at address with the given canonical-name and possibly aliases.
address must be a string denoting a valid IPv4 or IPv6 address, and canonical-name and the strings listed in aliases must be valid host names.
Type of the service that provides a console login service, whose value is a
<login-configuration>
object.
Data type representing the configuration of login, which specifies the MOTD (message of the day), among other things.
motd
¶Un objet simili-fichier contenant le « message du jour ».
allow-empty-passwords?
(par défaut : #t
)Permet les mots de passes vides par défaut pour que les utilisateurs puissent se connecter au compte « root » la première fois après sa création.
Type of the service that runs Mingetty, an implementation of the virtual
console log-in. The value for this service is a
<mingetty-configuration>
object.
Data type representing the configuration of Mingetty, which specifies the tty to run, among other things.
tty
Le nom de la console sur laquelle tourne ce Mingetty, p. ex.
"tty1"
.
auto-login
(par défaut : #f
)Lorsque la valeur est vraie, ce champ doit être une chaîne de caractère
dénotant le nom d’utilisateur pour lequel le système se connecte
automatiquement. Lorsque la valeur est #f
, il faut entrer un nom
d’utilisateur et un mot de passe pour se connecter.
login-program
(par défaut : #f
)Ce doit être soit #f
, auquel cas le programme de connexion par défaut
est utilisé (login
de la suite d’outils Shadow), soit une gexp
dénotant le nom d’un programme de connexion.
login-pause?
(par défaut : #f
)Lorsque la valeur est #t
en plus de auto-login, l’utilisateur
devrai appuyer sur une touche avant que le shell de connexion ne soit lancé.
clear-on-logout?
(par défaut : #t
)Lorsque la valeur est #t
, l’écran sera nettoyé après la déconnexion.
mingetty
(par défaut : mingetty)Le paquet Mingetty à utiliser.
Type of the service that runs agetty, which implements virtual and serial
console log-in. The value for this service is a
<agetty-configuration>
object.
Data type representing the configuration of agetty, which specifies the tty to run, among other things34.
tty
Le nom de la console sur laquelle cet agetty fonctionne, sous forme de
chaîne de caractères, par exemple "ttyS0"
. Cet argument est
optionnel, il sera par défaut un port série raisonnable par défaut utilisé
par le noyau Linux.
Pour cela, s’il y a une valeur pour une option agetty.tty
sur la
ligne de commande du noyau, agetty extraira le nom du périphérique du port
série à partir de cette option.
Sinon et s’il y a une valeur pour une option console
avec un tty sur
la ligne de commande du noyau Linux, agetty extraira le nom du périphérique
du port série et l’utilisera.
Dans les deux cas, agetty laissera les autres paramètres du périphérique série (baud, etc.) sans y toucher — dans l’espoir que Linux leur a assigné les bonnes valeurs.
baud-rate
(par défaut : #f
)Une chaîne qui contient une liste d’un ou plusieurs taux de baud séparés par des virgules, en ordre décroissant.
term
(par défaut : #f
)Une chaîne de caractères contenant la valeur utilisée pour la variable
d’environnement TERM
.
eight-bits?
(par défaut : #f
)Lorsque la valeur est #t
, le tty est supposé être propre pour les
caractères 8-bit et la détection de parité est désactivée.
auto-login
(par défaut : #f
)Lorsqu’un nom de connexion est passé comme une chaîne de caractères, l’utilisateur spécifié sera automatiquement connecté sans demande du nom d’utilisateur ni du mot de passe.
no-reset?
(par défaut : #f
)Lorsque la valeur est #t
, ne vide pas les cflags du terminal (modes
de contrôle).
host
(par défaut : #f
)Ceci accepte une chaîne de caractères contenant le "login_host", qui sera écrite dans le fichier /var/run/utmpx.
remote?
(par défaut : #f
)Lorsque la valeur est #t
en plus de host, cette option ajoutera
une option fakehost -r
à la ligne de commande du programme de
connexion spécifié dans login-program.
flow-control?
(par défaut : #f
)Lorsque la valeur est #t
, active le contrôle de flux matériel
(RTS/CTS).
no-issue?
(par défaut : #f
)Lorsque la valeur est #t
, le contenu du fichier /etc/issue ne
sera pas affiché avant de présenter l’écran de connexion.
init-string
(par défaut : #f
)Cette option accepte une chaîne de caractères qui sera envoyée au tty ou au modem avant toute autre chose. Elle peut être utilisée pour initialiser un modem.
no-clear?
(par défaut : #f
)Lorsque la valeur est #t
, agetty ne nettoiera pas l’écran avant de
montrer l’écran de connexion.
login-program
(par défaut : (file-append shadow "/bin/login"))Cette option doit être soit une gexp dénotant le nom d’un programme de
connexion, soit non définie, auquel cas la valeur par défaut est la commande
login
de la suite d’outils Shadow.
local-line
(par défaut : #f
)Contrôle le drapeau CLOCAL. Cette option accepte l’un des trois symboles
comme argument, 'auto
, 'always
ou 'never
. Si la valeur
est #f
, la valeur par défaut choisie par agetty est 'auto
.
extract-baud?
(par défaut : #f
)Lorsque la valeur est #t
, dit à agetty d’essayer d’extraire la taux
de baud depuis les messages de statut produits par certains modems.
skip-login?
(par défaut : #f
)Lorsque la valeur est #t
, ne demande par de nom d’utilisateur. Elle
peut être utilisée avec le champ login-program pour utiliser des
systèmes de connexion non standards.
no-newline?
(par défaut : #f
)Lorsque la valeur est #t
, n’affiche pas de retour à la ligne avant
d’afficher le fichier /etc/issue.
login-options
(par défaut : #f
)Cette option accepte une chaîne de caractères contenant des options passées au programme login. Lorsqu’utilisé avec login-program, soyez conscient qu’un utilisateur malicieux pourrait essayer de rentrer un nom d’utilisateur contenant des options incluses qui pourraient être analysées par le programme de connexion.
login-pause
(par défaut : #f
)Lorsque la valeur est #t
, attend qu’une touche soit appuyée avant de
montrer l’écran de connexion. Cela peut être utilisé avec auto-login
pour sauvegarder de la mémoire en lançant les shells de manière fainéante.
chroot
(par défaut : #f
)Change de racine dans le répertoire donné. Cette option accepte un chemin en tant que chaîne de caractères.
hangup?
(par défaut : #f
)Utilise l’appel système Linux vhangup
pour raccrocher virtuellement
le terminal spécifié.
keep-baud?
(par défaut : #f
)Lorsque la valeur est #t
, essaye de garder le taux de baud existant.
Les taux de baud de baud-rate sont utilisés lorsque agetty reçoit un
caractères BREAK.
timeout
(par défaut : #f
)Lorsque la valeur est un nombre entier, termine la session si aucun nom d’utilisateur n’a pu être lu après timeout secondes.
detect-case?
(par défaut : #f
)Lorsque la valeur est #t
, active le support pour la détection des
terminaux en majuscule uniquement. Ce paramètre détectera qu’un nom
d’utilisateur qui ne contient que des majuscules indique un terminal en
majuscule et effectuera des conversion de majuscule en minuscule. Remarquez
que cela ne fonctionne pas avec les caractères unicode.
wait-cr?
(par défaut : #f
)Lorsque la valeur est #t
, attend que l’utilisateur ou le modem envoie
un retour chariot ou un saut de ligne avant d’afficher /etc/issue ou
l’écran de connexion. Cela est typiquement utilisé avec l’option
init-string.
no-hints?
(par défaut : #f
)Lorsque la valeur est #t
, n’affiche par les astuces à propos des
verrouillages numériques, majuscule et défilement.
no-hostname?
(par défaut : #f
)Par défaut, le nom d’hôte est affiché. Lorsque la valeur est #t
,
aucun nom d’hôte ne sera affiché.
long-hostname?
(par défaut : #f
)Par défaut, le nom d’hôte n’est affiché qu’après le premier point. Lorsque
la valeur est #t
, le nom d’hôte pleinement qualifié renvoyé par
gethostname
ou getaddrinfo
sera affiché.
erase-characters
(par défaut : #f
)Cette option accepte une chaîne de caractères de caractères supplémentaires qui devraient être interprétés comme des effacements lorsque l’utilisateur les tape dans leur nom d’utilisateur.
kill-characters
(par défaut : #f
)Cette option accepte une chaîne de caractères qui devrait être interprétée comme signifiant « ignore tous les caractères précédents » (aussi appelé un caractère « kill ») lorsque l’utilisateur·rice tape son nom d’utilisateur·rice.
chdir
(par défaut : #f
)Cette option accepte, en tant que chaîne de caractères, un chemin vers un répertoire dans lequel se trouvera la commande avant la connexion.
delay
(par défaut : #f
)Cette option accepte, en tant qu’entier, le nombre de secondes à attendre avant d’ouvrir le tty et afficher l’écran de connexion.
nice
(par défaut : #f
)Cette option accepte, en tant qu’entier, la valeur « nice » avec laquelle le
programme login
tourne.
extra-options
(par défaut : '()
)Cette option fournit un « mécanisme de secours » pour que l’utilisateur·rice
puisse ajouter des arguments arbitraires en ligne de commande à
agetty
comme une liste de chaînes de caractères.
rshepherd-equirement
(par défaut : '()
)L’option peut être utilisée pour fournir des prérequis shepherd
supplémentaires (par exemple 'syslogd
) aux services shepherd
'term-
* correspondants.
Type of the service that runs
kmscon, which
implements virtual console log-in. The value for this service is a
<kmscon-configuration>
object.
Data type representing the configuration of Kmscon, which specifies the tty to run, among other things.
virtual-terminal
Le nom de la console sur laquelle Kmscon tourne, p. ex. "tty1"
.
login-program
(par défaut : #~(string-append #$shadow "/bin/login")
)Une gexp qui dénote le nom d’un programme de connexion. le programme de
connexion par défaut est login
de la suite d’outils Shadow.
login-arguments
(par défaut : '("-p")
)Une liste d’arguments à passer à login
.
auto-login
(par défaut : #f
)Lorsqu’un nom de connexion est passé comme une chaîne de caractères, l’utilisateur spécifié sera automatiquement connecté sans demande du nom d’utilisateur ni du mot de passe.
hardware-acceleration?
(par défaut : #f)S’il faut utiliser l’accélération matérielle.
font-engine
(par défaut : "pango"
)Moteur de polices utilisé dans Kmscon.
font-size
(par défaut : 12
)Taille de police utilisée par Kmscon.
keyboard-layout
(par défaut : #f
)Si la valeur est #f
, Kmscon utilise la disposition du clavier par
défaut — habituellement la disposition anglaise américaine (« qwerty ») pour
un clavier de PC à 105 touches.
Sinon cela doit être un objet keyboard-layout
spécifiant la
disposition du clavier. Voir Disposition du clavier pour plus d’informations sur
la manière de spécifier la disposition du clavier.
kmscon
(par défaut : kmscon)Le paquet Kmscon à utiliser.
Type of the service that runs the libc nscd (name service cache
daemon), whose value is an <nscd-configuration>
object.
Parce que c’est pratique, le service du Shepherd pour nscd fournit les actions suivantes :
invalidate
¶Cela invalide le cache donné. Par exemple, en laçant :
herd invalidate nscd hosts
on invalide le cache de noms d’hôtes de nscd.
statistiques
Lancer herd statistics nscd
affiche des informations sur
l’utilisation de nscd et des caches.
Data type representing the nscd (name service cache daemon) configuration.
name-services
(par défaut : '()
)Liste des paquets dénotant des services de noms qui doivent être
visible pour nscd, p. ex. (list nss-mdns)
.
glibc
(par défaut : glibc)Objet de paquet qui dénote la Bibliothèque C de GNU qui fournit la commande
nscd
.
log-file
(par défaut : #f
)Name of the nscd log file. Debugging output goes to that file when
debug-level
is strictly positive, or to standard error if it is
#f
. Regular messages are written to syslog when debug-level
is zero, regardless of the value of log-file
.
debug-level
(par défaut : 0
)Entier qui dénote le niveau de débogage. Les entiers les plus grands signifient plus de sortie de débogage.
caches
(par défaut : %nscd-default-caches
)Liste d’objets <nscd-cache>
qui dénotent des choses à mettre en cache
; voir plus bas.
Type de données représentant une base de données de cache de nscd et ses paramètres.
database
C’est un symbole qui représente le nom de la base de donnée à mettre en
cache. Les valeurs valide sont passwd
, group
, hosts
et
services
qui désignent les bases de données NSS correspondantes
(voir NSS Basics dans The GNU C Library Reference Manual).
positive-time-to-live
negative-time-to-live
(par défaut : 20
)Un entier qui représente le nombre de secondes pendant lesquelles un résultat positif ou négatif reste en cache.
check-files?
(par défaut : #t
)Indique s’il faut vérifier des mises à jours dans les fichiers correspondant à database.
Par exemple, lorsque database est hosts
, ce drapeau indique à
nscd de vérifier s’il y a des mises à jour de /etc/hosts et de les
prendre en compte.
persistent?
(par défaut : #t
)Indique si le cache devrait être stocké de manière persistante sur le disque.
shared?
(par défaut : #t
)Indique si le cache devrait être partagé entre les utilisateurs.
max-database-size
(par défaut : 32 MiB)Taille maximale en octets de la base de données en cache.
Liste d’objets <nscd-cache>
utilisés par défaut par
nscd-configuration
(voir plus haut).
Elle active la mise en cache persistante et agressive des recherches de services et de noms d’hôtes. Ces derniers fournissent une recherche de noms d’hôtes plus performante, résiliente face à des serveurs de noms peu fiables et une protection de votre vie privée plus efficace — souvent le résultat des recherches de noms d’hôtes sont dans le cache local, donc les serveurs de nom externes n’ont même pas besoin d’être questionnés.
Type of the service that runs the syslog daemon, whose value is a
<syslog-configuration>
object.
To have a modified syslog-configuration
come into effect after
reconfiguring your system, the ‘reload’ action should be preferred to
restarting the service, as many services such as the login manager depend on
it and would be restarted as well:
# herd reload syslog
which will cause the running syslogd
process to reload its
configuration.
Data type representing the configuration of the syslog daemon.
syslogd
(par défaut : #~(string-append #$inetutils "/libexec/syslogd")
)Le démon syslog à utiliser.
config-file
(par défaut : %default-syslog.conf
)The syslog configuration file to use. Voir syslogd invocation dans GNU Inetutils, for more information on the configuration file syntax.
C’est le type de service qui lance le démon de construction,
guix-daemon
(voir Invoquer guix-daemon
). Sa valeur doit être
un enregistrement guix-configuration
décrit plus bas.
Ce type de données représente la configuration du démon de construction de
Guix. Voir Invoquer guix-daemon
pour plus d’informations.
guix
(par défaut : guix)The Guix package to use. Voir Customizing the System-Wide Guix to learn how to provide a package with a pre-configured set of channels.
build-group
(par défaut : "guixbuild"
)Nom du groupe des comptes utilisateurs de construction.
build-accounts
(par défaut : 10
)Nombre de comptes utilisateurs de construction à créer.
authorize-key?
(par défaut : #t
) ¶Indique s’il faut autoriser ou non les clefs de substituts listées dans
authorize-keys
— par défaut celle de
bordeaux.guix.gnu.org
et ci.guix.gnu.org
(voir Substituts).
Lorsque authorize-key?
est vrai, /etc/guix/acl ne peut pas
être changé en invoquant guix archive --authorize
. vous devez
plutôt ajuster guix-configuration
comme vous le souhaitez et
reconfigurer le système. Cela s’assure que le fichier de configuration de
votre système est auto-contenu.
Remarque : Au démarrage ou la reconfiguration d’un système où
authorize-key?
est vrai, le fichier /etc/guix/acl existant est sauvegardé dans /etc/guix/acl.bak s’il est déterminé qu’il a été modifié manuellement. Cela facilite la migration à partir de versions précédentes, qui permettaient des modifications en-place de /etc/guix/acl.
authorized-keys
(par défaut : %default-authorized-guix-keys
)La liste des fichiers des fichiers de clés autorisées pour les imports
d’archives, en tant que liste de gexps sous forme de chaines
(voir Invoquer guix archive
). Par défaut, elle contient celle de
bordeaux.guix.gnu.org
et ci.guix.gnu.org
(voir Substituts). Voir substitute-urls
ci-dessous pour apprendre
comment la changer.
use-substitutes?
(par défaut : #t
)S’il faut utiliser les substituts.
substitute-urls
(par défaut : %default-substitute-urls
)La liste des URL où trouver des substituts par défaut.
Supposons que vous vouliez récupérer des substituts à partir de
guix.example.org
en plus de bordeaux.guix.gnu.org
. Vous
devrez faire deux choses : (1) ajouter guix.example.org
à
substitute-urls
, et (2) autoriser sa clé de signature, après avoir
effectué les vérifications adéquates (voir Autoriser un serveur de substituts). La configuration ci-dessous fait exactement cela :
(guix-configuration
(substitute-urls
(append (list "https://guix.example.org")
%default-substitute-urls))
(authorized-keys
(append (list (local-file "./guix.example.org-key.pub"))
%default-authorized-guix-keys)))
Cet exemple suppose que le fichier ./guix.example.org-key.pub
contient la clé publique que guix.example.org
utilise pour signer les
substituts.
generate-substitute-keys?
(par défaut : #t
)Indique s’il faut générer une paire de clés de substituts dans /etc/guix/signing-key.pub et /etc/guix/signing-key.sec si elle n’existe pas déjà.
Cette paire de clés est utilisée pour exporter les éléments du dépôt, par
exemple avec guix publish
(voir Invoquer guix publish
) ou
guix archive
(voir Invoquer guix archive
). Générer une paire de
clés prend quelques secondes quand il y a assez d’entropie disponible et
n’est fait qu’une seule fois ; vous pouvez la désactiver par exemple dans
une machine virtuelle qui n’en pas besoin et où le temps de démarrage
supplémentaire peut être problématique.
channels
(default: #f
)List of channels to be specified in /etc/guix/channels.scm, which is
what guix pull
uses by default (voir Invoquer guix pull
).
Remarque : When reconfiguring a system, the existing /etc/guix/channels.scm file is backed up as /etc/guix/channels.scm.bak if it was determined to be a manually modified file. This is to facilitate migration from earlier versions, which allowed for in-place modifications to /etc/guix/channels.scm.
max-silent-time
(default: 3600
)timeout
(default: (* 3600 24)
)Le nombre de secondes de silence et le nombre de secondes d’inactivité, respectivement, après lesquelles un processus de construction son délai d’attente. Une valeur de zéro désactive le délai d’attente.
log-compression
(par défaut : 'gzip
)Le type de compression utilisé par les journaux de construction — parmi
gzip
, bzip2
et none
.
discover?
(par défaut : #f
)Indique s’il faut découvrir les serveurs de substitut sur le réseau local avec mDNS et DNS-SD.
build-machines
(default: #f
)This field must be either #f
or a list of gexps evaluating to a
build-machine
record or to a list of build-machine
records
(voir Utiliser le dispositif de déchargement).
When it is #f
, the /etc/guix/machines.scm file is left
untouched. Otherwise, the list of of gexps is written to
/etc/guix/machines.scm; if a previously-existing file is found, it is
backed up as /etc/guix/machines.scm.bak. This allows you to declare
build machines for offloading directly in the operating system declaration,
like so:
(guix-configuration
(build-machines
(list #~(build-machine (name "foo.example.org") …)
#~(build-machine (name "bar.example.org") …))))
Additional build machines may be added via the guix-extension
mechanism (see below).
extra-options
(par défaut : '()
)Liste d’options supplémentaires de la ligne de commande pour
guix-daemon
.
log-file
(par défaut : "/var/log/guix-daemon.log"
)Le fichier où les sorties standard et d’erreur de guix-daemon
sont
écrites.
http-proxy
(par défaut : #f
)L’URL du proxy HTTP et HTTPS utilisé pour le téléchargement des dérivés et substituts à sortie fixe.
Il est également possible de changer le proxy du démon au moment de
l’exécution grâce à l’action set-http-proxy
, qui le redémarre :
herd set-http-proxy guix-daemon http://localhost:8118
Pour effacer les paramètres du proxy, exécutez :
herd set-http-proxy guix-daemon
tmpdir
(par défaut : #f
)Un répertoire où guix-daemon
effectuera ses constructions.
environment
(par défaut : '()
)Les variables d’environnement à configurer avant de démarrer le démon, en
tant que liste de chaines clé=valeur
.
socket-directory-permissions
(default: #o755
)Permissions to set for the directory /var/guix/daemon-socket. This,
together with socket-directory-group
and
socket-directory-user
, determines who can connect to the build daemon
via its Unix socket. TCP socket operation is unaffected by these.
socket-directory-user
(default: #f
)socket-directory-group
(default: #f
)User and group owning the /var/guix/daemon-socket directory or
#f
to keep the user or group as root.
Ce type de données représente les paramètres du démon de construction de Guix qui peuvent être étendus. C’est le type d’objet qui doit être utilisé dans une extension du service guix. Voir Composition de services, pour plus d’informations.
authorized-keys
(par défaut : '()
)Une liste d’objets simili-fichiers où chaque élément contient une clé publique.
substitute-urls
(par défaut : '()
)Une liste de chaines où chaque élément est l’URL d’un serveur de substituts.
build-machines
(default: '()
)A list of gexps that evaluate to build-machine
records or to a list
of build-machine
records. (voir Utiliser le dispositif de déchargement).
Using this field, a service may add new build machines to receive builds
offloaded by the daemon. This is useful for a service such as
hurd-vm-service-type
, which can make a GNU/Hurd virtual machine
directly usable for offloading (voir hurd-vm-service-type
).
chroot-directories
(par défaut : '()
)Une liste d’objets simili-fichiers ou de chaines pointant vers des répertoires supplémentaires que le démon de construction peut utiliser.
Type of the service that runs udev, a service which populates the
/dev directory dynamically, whose value is a
<udev-configuration>
object.
Since the file names for udev rules and hardware description files matter, the configuration items for rules and hardware cannot simply be plain file-like objects with the rules content, because the name would be ignored. Instead, they are directory file-like objects that contain optional rules in lib/udev/rules.d and optional hardware files in lib/udev/hwdb.d. This way, the service can be configured with whole packages from which to take rules and hwdb files.
The udev-service-type
can be extended with file-like
directories that respect this hierarchy. For convenience, the
udev-rule
and file->udev-rule
can be used to construct udev
rules, while udev-hardware
and file->udev-hardware
can be used
to construct hardware description files.
In an operating-system
declaration, this service type can be
extended using procedures udev-rules-service
and
udev-hardware-service
.
Data type representing the configuration of udev.
udev
(default: eudev
) (type: file-like)Package object of the udev service. This package is used at run-time, when compiled for the target system. In order to generate the hwdb.bin hardware index, it is also used when generating the system definition, compiled for the current system.
rules
(default: ’()) (type: list-of-file-like)List of file-like objects denoting udev rule files under a sub-directory.
hardware
(default: ’()) (type: list-of-file-like)List of file-like objects denoting udev hardware description files under a sub-directory.
Renvoie un fichier de règle udev nommé file-name contenant les règles définie par le littéral contents.
Dans l’exemple suivant, on définie une règle pour un périphérique USB qui sera stockée dans le fichier 90-usb-thing.rules. La règle lance un script à la détection du périphérique USB avec l’identifiant de produit donné.
(define %example-udev-rule
(udev-rule
"90-usb-thing.rules"
(string-append "ACTION==\"add\", SUBSYSTEM==\"usb\", "
"ATTR{product}==\"Example\", "
"RUN+=\"/path/to/script\"")))
Return a udev hardware description file named file-name containing the hardware information contents.
Renvoie un service qui étend udev-service-type
avec rules et
account-service-type
avec groups comme groupes système. Cela
fonctionne en créant un service de type name-udev-rules
, dont
le service renvoyé est une instance.
Nous montrons ici comment cela peut être utilisé pour étendre
udev-service-type
avec la règle précédemment définie
%exemple-udev-rule
.
(operating-system
;; …
(services
(cons (udev-rules-service 'usb-thing %example-udev-rule)
%desktop-services)))
Return a service that extends udev-service-type
with hardware.
The service name is name-udev-hardware
.
Return a udev-rule file named file-name containing the rules defined within file, a file-like object.
L’exemple suivant montre comment utiliser un fichier de règles existant.
(use-modules (guix download) ;pour url-fetch (guix packages) ;pour origin …) (define %android-udev-rules (file->udev-rule "51-android-udev.rules" (let ((version "20170910")) (origin (method url-fetch) (uri (string-append "https://raw.githubusercontent.com/M0Rf30/" "android-udev-rules/" version "/51-android.rules")) (sha256 (base32 "0lmmagpyb6xsq6zcr2w1cyx9qmjqmajkvrdbhjx32gqf1d9is003"))))))
Since guix package definitions can be included in rules in order to
use all their rules under the lib/udev/rules.d sub-directory, then in
lieu of the previous file->udev-rule example, we could have used the
android-udev-rules package which exists in Guix in the (gnu
packages android)
module.
Return a udev hardware description file named file-name containing the rules defined within file, a file-like object.
L’exemple suivant montre comment utiliser le paquet android-udev-rules
pour que l’outil Android adb
puisse détecter les appareils sans
privilège root. Il détaille aussi comment créer le groupe adbusers
,
requis pour le bon fonctionnement des règles définies dans le paquet
android-udev-rules
. Pour créer ce groupe, on doit le définir dans
les supplementary-groups
de la déclaration user-account
ainsi
que dans le champ groups de l’enregistrement operating-system.
(use-modules (gnu packages android) ;pour android-udev-rules (gnu system shadow) ;pour user-group …) (operating-system ;; … (users (cons (user-account ;; … (supplementary-groups '("adbusers" ;for adb "wheel" "netdev" "audio" "video"))))) ;; … (services (cons (udev-rules-service 'android android-udev-rules #:groups '("adbusers")) %desktop-services)))
Conserve de l’ entropie dans %random-seed-file
pour amorcer
/dev/urandom lors du redémarrage. Il essaie également d’amorcer
/dev/urandom à partir de /dev/hwrng lors du démarrage, si
/dev/hwrng existe et est lisible.
C’est le nom du fichier où des octets aléatoires sont sauvegardés par urandom-seed-service pour démarrer /dev/urandom au redémarrage. Sa valeur par défaut est /var/lib/random-seed.
C’est le type du service qui lance GPM, le démon de souris à but général, qui fournit le support de la souris sur la console Linux. GPM permet aux utilisateurs d’utiliser la souris dans la console, entre autres pour sélectionner, copier et coller du texte.
La valeur pour les services de ce type doit être un gpm-configuration
(voir plus bas). Ce service ne fait pas partie de %base-services
.
Type de données représentant la configuration de GPM.
options
(par défaut : %default-gpm-options
)Les options de la ligne de commande à passer à gpm
. L’ensemble
des options par défaut dit à gpm
d’écouter les événements de la
souris dans /dev/input/mice. Voir Command Line dans gpm manual,
pour plus d’informations.
gpm
(par défaut : gpm
)Le paquet GPM à utiliser.
C’est le type de service pour guix publish
(voir Invoquer guix publish
). Sa valeur doit être un objet guix-publish-configuration
décrit plus bas.
Ce service suppose que /etc/guix contient déjà une paire de clefs
créée par guix archive --generate-key
(voir Invoquer guix archive
). Si ce n’est pas le cas, le service ne démarrera pas.
Le type de données représentant la configuration du service guix
publish
.
guix
(par défaut : guix
)Le paquet Guix à utiliser.
port
(par défaut : 80
)Le port TCP sur lequel écouter les connexions.
host
(par défaut : "localhost"
)L’hôte (et donc, l’interface réseau) sur lequel écouter. Utilisez
"0.0.0.0"
pour écouter sur toutes les interfaces réseaux.
advertise?
(par défaut : #f
)Lorsque la valeur est vraie, annonce le service sur le réseau local via le protocole DNS-SD, avec Avahi.
Cela permet aux machines Guix voisines qui ont activé la découverte (voir
guix-configuration
ci-dessus) de découvrir cette instance de
guix publish
et de télécharger des substituts directement à partir
d’elle.
compression
(par défaut : '(("gzip" 3) ("zstd" 3))
)Il s’agit d’une liste de méthodes de compression/numéros de niveau utilisés lors de la compression des substituts. Par exemple, pour compresser tous les substituts avec both lzip au niveau 7 et gzip au niveau 9, écrivez :
'(("lzip" 7) ("gzip" 9))
Le niveau 9 atteint le meilleur taux de compression au détriment d’une
utilisation accrue du CPU, tandis que le niveau 1 atteint une compression
rapide. Voir Invoquer guix publish
, pour plus d’information sur les
méthodes de compression disponibles et les compromis à faire entre elles.
Une liste vide désactive complètement la compression.
nar-path
(par défaut : "nar"
)Le chemin d’URL où les « nars » se trouvent. Voir --nar-path, pour des détails.
cache
(par défaut : #f
)Lorsque la valeur est #f
, désactive le cache et génère les archives à
la demande. Sinon, cela devrait être le nom d’un répertoire — p. ex.
"/var/cache/guix/publish"
— où guix publish
gère le cache
des archives et des métadonnées prêtes à être envoyées. Voir --cache, pour plus d’informations sur les compromis
impliqués.
workers
(par défaut : #f
)Lorsque la valeur est un entier, c’est le nombre de threads de travail
utilisés pour le cache ; lorsque la valeur est #f
, le nombre de
processeurs est utilisé. Voir --workers,
pour plus d’informations.
cache-bypass-threshold
(par défaut : 10 Mio)Lorsque cache
est vrai, c’est la taille maximale en octets d’un
élément du dépôt pour lequel guix publish
peut contourner le cache
s’il n’y est pas. Voir --cache-bypass-threshold, pour plus d’informations.
ttl
(par défaut : #f
)Lorsque la valeur est un entier, il dénote la durée de vie en secondes des archives publiées. Voir --ttl, pour plus d’informations.
negative-ttl
(par défaut : #f
)Lorsque la valeur est un entier, il dénote la durée de vie en secondes pour les réponses négatives. Voir --negative-ttl, pour plus d’informations.
Type of the service that runs rng-tools rngd, whose value is an
<rngd-configuration>
object.
Data type representing the configuration of rngd.
rng-tools
(default: rng-tools
) (type: file-like)Package object of the rng-tools rngd.
device
(default: "/dev/hwrng") (type: string)Path of the device to add to the kernel’s entropy pool. The service will fail if device does not exist.
Type of the service that installs a configuration file for the
pam_limits
module. The value for this service type is a list of
pam-limits-entry
values, which can be used to specify ulimit
limits and nice
priority limits to user sessions. By default, the
value is the empty list.
La définition de limites suivante défini deux limites matérielles et
logicielles pour toutes les sessions connectées des utilisateurs du groupe
realtime
:
(service pam-limits-service-type
(list
(pam-limits-entry "@realtime" 'both 'rtprio 99)
(pam-limits-entry "@realtime" 'both 'memlock 'unlimited)))
La première entrée augment la priorité en temps réel maximale des processus non privilégiés ; la deuxième entrée abandonne les restrictions sur l’espace d’adressage maximal qui peut être verrouillé en mémoire. Ces paramètres sont souvent utilisés sur les systèmes audio temps-réel.
Un autre exemple utile est d’augmenter le nombre maximum de descripteurs de fichiers ouverts qui peuvent être utilisés :
(service pam-limits-service-type
(list
(pam-limits-entry "*" 'both 'nofile 100000)))
Dans l’exemple au-dessus, l’astérisque signifie que la limite s’applique à
tous les utilisateurs. Il est important de s’assurer que la valeur choisie
n’excède pas la valeur maximale du système visible dans le fichier
/proc/sys/fs/file-max, sinon les utilisateurs ne pourront pas se
connecter. Pour plus d’information sur les limites du module
d’authentification grefable (PAM), regardez la page de manuel
‘pam_limits’ du paquet linux-pam
.
greetd
est un démon
de gestion des connexions minimaliste et flexible, qui ne fait aucune
hypothèse sur ce que vous voulez lancer.
Si vous pouvez le lancer depuis votre shell dans un TTY, greetd peut le lancer. S’il peut apprendre à parler un protocole IPC simple basé sur JSON, alors ce peut être un écran d’accueil.
greetd-service-type
fournit l’infrastructure nécessaire pour la
connexion des utilisateurs, ce qui comprend :
greetd
pam-mount
pour monter XDG_RUNTIME_DIR
Voici un exemple pour passer de mingetty-service-type
à
greetd-service-type
et comment vous pouvez le spécifier pour
plusieurs terminaux :
(append
(modify-services %base-services
;; greetd-service-type fournit le srevice PAM « greetd »
(delete login-service-type)
;; et peut être utilisé à la place de mingetty-service-type
(delete mingetty-service-type))
(list
(service greetd-service-type
(greetd-configuration
(terminals
(list
;; on peut rendre n'importe quel terminal actif par défaut
(greetd-terminal-configuration (terminal-vt "1") (terminal-switch #t))
;; on peut créer des environnement sans initialiser XDG_RUNTIME_DIR
;; et même fournir nos propres variables d'environnement
(greetd-terminal-configuration
(terminal-vt "2")
(default-session-command
(greetd-agreety-session
(extra-env '(("MY_VAR" . "1")))
(xdg-env? #f))))
;; on peut utiliser un shell différent au lieu de bash par défaut
(greetd-terminal-configuration
(terminal-vt "3")
(default-session-command
(greetd-agreety-session (command (file-append zsh "/bin/zsh")))))
;; on peut utiliser n'importe quelle autre commande exécutable comme gestionnaire de connexion
(greetd-terminal-configuration
(terminal-vt "4")
(default-session-command (program-file "my-noop-greeter" #~(exit))))
(greetd-terminal-configuration (terminal-vt "5"))
(greetd-terminal-configuration (terminal-vt "6"))))))
;; mingetty-service-type peut être utilisé en parallèle
;; si vous voulez faire cela, n'utilisez pas (delete login-service-type)
;; comme indiqué plus haut
#| (service mingetty-service-type (mingetty-configuration (tty "tty8"))) |#))
La configuration pour greetd-service-type
.
motd
Un objet simili-fichier contenant le « message du jour ».
allow-empty-passwords?
(par défaut : #t
)Permet les mots de passes vides par défaut pour que les utilisateurs puissent se connecter au compte « root » la première fois après sa création.
terminal
(par défaut : '()
)Liste de greetd-terminal-configuration
par terminal pour lequel
greetd
doit démarrer.
greeter-supplementary-groups
(par défaut : '()
)Liste des groupes qui devraient être ajoutés à l’utilisateur
greeter
. Par exemple :
(greeter-supplementary-groups '("seat" "video"))
Remarquez que cet exemple échouera si le groupe seat
n’existe pas.
Enregistrement de la configuration par terminal du service greetd.
greetd
(par défaut : greetd
)Le paquet greetd à utiliser.
config-file-name
Nom du fichier de configuration utilisé pour le démon greetd. En général,
c’est une dérivation générée à partir de la valeur de terminal-vt
.
log-file-name
Nom du fichier de journalisation utilisé par le démon greetd. En général,
c’est un nom généré à partir de la valeur de terminal-vt
.
terminal-vt
(par défaut : ‘"7"’)Le terminal virtuel sur lequel tourner. L’utilisation d’un VT spécifique en évitant les conflits est recommandé.
terminal-switch
(par défaut : #f
)Rend ce terminal actif au démarrage de greetd
.
source-profile?
(par défaut : #t
)Indique s’il faut sourcer /etc/profile et ~/.profile, s’ils existent.
default-session-user
(par défaut : ‘"greeter"’)L’utilisateur à utiliser pour lancer l’écran d’accueil.
default-session-command
(par défaut : (greetd-agreety-session)
)Peut être soit une instance d’une configuration
greetd-agreety-session
ou un objet comme gexp->script
à
utiliser comme écran d’accueil.
Enregistrement de la configuration de l’écran d’accueil agreety de greetd.
agreety
(par défaut : greetd
)Le paquet dans lequel se trouve la commande /bin/agreety
.
command
(par défaut : (file-append bash "/bin/bash"
)La commande à démarrer par /bin/agreety
si la connexion réussi.
command-args
(par défaut : '("-l")
)Les arguments à passer à la commande.
extra-env
(par défaut : '()
)Variables d’environnement supplémentaires à définir à la connexion.
xdg-env?
(par défaut : #t
)If true XDG_RUNTIME_DIR
and XDG_SESSION_TYPE
will be set
before starting command. One should note that, extra-env
variables
are set right after mentioned variables, so that they can be overridden.
Enregistrement de configuration générique de l’écran d’accueil wlgreet de greetd.
wlgreet
(par défaut : wlgreet
)Le paquet dans lequel se trouve la commande /bin/wlgreet
.
command
(par défaut : (file-append sway "/bin/sway"
)La commande à démarrer par /bin/wlgreet
si la connexion réussi.
command-args
(par défaut : '()
)Les arguments à passer à la commande.
output-mode
(par défaut : "all"
)Option à utiliser pour outputMode
dans le fichier de configuration
TOML.
sclae
(par défaut : 1
)Option à utiliser pour scale
dans le fichier de configuration TOML.
background
(par défaut : '(0 0 0 0.9)
)Liste RGBA à utiliser comme couleur de fond pour l’invite de connexion.
headline
(par défaut : '(1 1 1 1)
)Liste RGBA à utiliser comme couleur de titre dans la popup.
prompt
(par défaut : '(1 1 1 1)
)Liste RGBA à utiliser comme couleur d’invite dans la popup.
prompt-error
(par défaut : '(1 1 1 1)
)Liste RGBA à utiliser comme couleur d’erreur dans la popup.
border
(par défaut : '(1 1 1 1)
)Liste RGBA à utiliser comme couleur de bordure de la popup.
extra-env
(par défaut : '()
)Variables d’environnement supplémentaires à définir à la connexion.
Enregistrement de la configuration spécifique à sway, de l’écran d’accueil wlgreet de greetd.
wlgreet-session
(par défaut : (greetd-wlgreet-session)
)Un enregistrement greetd-wlgreet-session
pour la configuration
générale de wlgreet, en plus du greetd-wlgreet-sway-session
spécifique à Sway.
sway
(par défaut : sway
)Le paquet qui fournit la commande /bin/sway
.
sway-configuration
(par défaut : #f
)Objet simili-fichier qui fournit un fichier de configuration Sway supplémentaire à ajouter au début de la partie obligatoire de la configuration.
Voici un exemple de configuration de greetd qui utilise wlgreet et Sway :
(greetd-configuration
;; Nous devons donner ces permissions à l'utilisateur de l'écran d'accueil, sinon
;; Sway plantera au démarrage.
(greeter-supplementary-groups (list "video" "input" "seat"))
(terminals
(list (greetd-terminal-configuration
(terminal-vt "1")
(terminal-switch #t)
(default-session-command
(greetd-wlgreet-sway-session
(sway-configuration
(local-file "sway-greetd.conf"))))))))
Suivant: Exécution de tâches planifiées, Monter: Services [Table des matières][Index]