Suivant: Exécution de tâches planifiées personnelles, Précédent: Services personnels essentiels, Monter: Services du dossier personnel [Table des matières][Index]
Les shells jouent un rôle important dans le processus d’initialisation de l’environnement, et vous pouvez les configurer manuellement comme décrit dans la section Configurer le shell, mais il est recommandé d’utiliser les services personnels listés plus bas. C’est à la fois plus facile et plus fiable.
Chaque environnement personnel instancie
home-shell-profile-service-type
, qui crée un fichier de démarrage
~/.profile pour tous les shell POSIX. Ce fichier content toutes les
étapes nécessaires à l’initialisation de l’environnement, mais de nombreux
shells modernes comme Bash ou Zsh préfèrent leur propres fichiers de
démarrage, c’est pourquoi les services personnels correspondants
(home-bash-service-type
et home-zsh-service-type
) s’assurent
que ~/.profile est sourcé par ~/.bash_profile et
~/.zprofile, respectivement.
Les champs de home-shell-profile-configuration
disponibles sont :
profile
(par défaut : ()
) (type : text-config)home-shell-profile
est instancié automatiquement par
home-environment
, NE créez PAS ce service manuellement, il ne peut
qu’être étendu. profile
est une liste d’objets simili-fichiers, qui
iront dans ~/.profile. Par défaut ~/.profile contient le code
d’initialisation, qui doit être évalué par le shell de connexion pour rendre
le profil de l’environnement personnel disponible, mais vous pouvez ajouter
d’autres commandes au fichier si c’est vraiment nécessaire. Dans la plupart
des cas les personnalisations devraient aller dans les fichiers de
configuration de votre shell. Étendez le service home-shell-profile qui si
vous savez vraiment ce que vous faites.
Les champs de home-bash-configuration
disponibles sont :
package
(par défaut : bash
) (type : paquet)Le paquet Bash à utiliser.
guix-defaults?
(par défaut : #t
) (type : booléen)Ajoute des instructions par défaut correctes comme la lecture de
/etc/bashrc et la coloration de la sortie de ls
au début du
fichier .bashrc.
environment-variables
(par défaut : ()
) (type : liste d’association)Liste d’association de variables d’environnement à initialiser dans la
session Bash. Les règles de home-environment-variables-service-type
s’appliquent ici (voir Services personnels essentiels). Le contenu de ce champ
sera ajouté après le contenu du champ bash-profile
.
aliases
(par défaut : ()
) (type : liste d’association)Liste d’association d’alias à initialiser pour la session Bash. Les alias
seront définis après le contenu du champ bashrc
dans le fichier
.bashrc. Les alias seront automatiquement encadrés de guillemets,
pour que ceci :
'(("ls" . "ls -alF"))
devienne
alias ls="ls -alF"
bash-profile
(par défaut : ()
) (type : text-config)Liste d’objets simili-fichiers qui seront ajoutés à .bash_profile. C’est utilisé pour exécuter des commandes au démarrage d’un shell de connexion (dans la plupart des cas le shell qui démarre sur un tty après la connexion). .bash_login ne sera jamais lu parce que .bash_profile est toujours présent.
bashrc
(par défaut : ()
) (type : text-config)Liste d’objets simili-fichiers qui seront ajoutés à .bashrc. C’est
utilisé pour exécuter des commandes au lancement d’un shell interactif (le
shell utilisé de manière interactive, démarré en tapant bash
ou par
votre application de terminal ou tout autre programme).
bash-logout
(par défaut : ()
) (type : text-config)Liste d’objets simili-fichiers qui seront ajoutés à .bash_logout. C’est utilisé pour exécuter des commandes à la sortie d’un shell de connexion. Il ne sera pas lu dans certains cas (si le shell termine en utilisant exec sur un autre processus par exemple).
Vous pouvez étendre le service Bash en utilisant un enregistrement de
configuration home-bash-extension
, dont les champs correspondent à
ceux de home-bash-configuration
(voir home-bash-configuration). Le
contenu des extensions seront ajoutées à la fin des fichiers de
configuration Bash correspondants (voir Bash Startup Files dans le
manuel de référence de Bash.
Par exemple, voici comment définir un service qui étend le service Bash de
sorte que ~/.bash_profile définisse une variable d’environnement
supplémentaire, PS1
:
(define bash-fancy-prompt-service
(simple-service 'bash-fancy-prompt
home-bash-service-type
(home-bash-extension
(environment-variables
'(("PS1" . "\\u \\wλ "))))))
Vous ajouterez ensuite bash-fancy-prompt-service
à la liste dans le
champ services
de votre home-environment
. Voici la
documentation de référence pour home-bash-extension
.
Les champs de home-bash-extension
disponibles sont :
environment-variables
(par défaut : ()
) (type : liste d’association)Variables d’environnement supplémentaires à définir. Elles seront combinées aux variables d’environnement des autres extensions et du service de base pour former un bloc cohérent de variables d’environnement.
aliases
(par défaut : ()
) (type : liste d’association)Alias supplémentaires à définir. Ils seront combinés aux alias des autres extensions et du service de base.
bash-profile
(par défaut : ()
) (type : text-config)Blocs de texte supplémentaires à ajouter à .bash_profile, qui seront combinés avec les blocs de texte des autres extensions et du service de base.
bashrc
(par défaut : ()
) (type : text-config)Blocs de texte supplémentaires à ajouter à .bashrc, qui seront combinés avec les blocs de texte des autres extensions et du service de base.
bash-logout
(par défaut : ()
) (type : text-config)Blocs de texte supplémentaires à ajouter à .bash_logout, qui seront combinés avec les blocs de texte des autres extensions et du service de base.
Les champs de home-zsh-configuration
disponibles sont :
package
(par défaut : zsh
) (type : paquet)Le paquet Zsh à utiliser.
xdg-flavor?
(par défaut : #t
) (type : booléen)Place tous les fichiers de configuration dans
$XDG_CONFIG_HOME/zsh. Cela fait initialiser ZDOTDIR
à
$XDG_CONFIG_HOME/zsh dans ~/.zshenv. Le processus de démarrage
du shell continuera avec $XDG_CONFIG_HOME/zsh/.zshenv.
environment-variables
(par défaut : ()
) (type : liste d’association)Une liste d’association de variables d’environnement à initialiser dans la session Zsh.
zshenv
(par défaut : ()
) (type : text-config)Liste d’objets simili-fichiers qui seront ajoutés à .zshenv. C’est
utilisé pour initialiser les variables d’environnement du shell. Elle ne
doit pas contenir de commande qui suppose la présence d’un tty ou qui
produise une sortie. Cela sera toujours lu, et toujours avant tout autre
fichiers dans ZDOTDIR
.
zprofile
(par défaut : ()
) (type : text-config)Liste d’objets simili-fichiers qui seront ajoutés à .zprofile. C’est utilisé pour exécuter des commandes au démarrage d’un shell de connexion (dans la plupart des cas le shell démarré sur un tty après la connexion). Elle sera lue avant .zlogin.
zshrc
(par défaut : ()
) (type : text-config)Liste d’objets simili-fichiers qui seront ajoutés à .zshrc. C’est
utilisé pour exécuter des commandes au démarrage d’un shell interactif (le
shell utilisé de manière interactive démarré en tapant zsh
ou par
votre application de terminal ou toute autre application).
zlogin
(par défaut : ()
) (type : text-config)Liste d’objets simili-fichiers qui seront ajoutés à .zlogin. C’est utilisé pour exécuter des commandes à la fin du processus de démarrage du shell de connexion.
zlogout
(par défaut : ()
) (type : text-config)Liste d’objets simili-fichiers qui seront ajoutés à .zlogout. C’est utilisé pour exécuter des commandes à la sortie d’un shell de connexion. Elle ne sera pas lue dans certains cas (si le shell termine après avoir utilisé exec sur un autre processus par exemple).
Suivant: Exécution de tâches planifiées personnelles, Précédent: Services personnels essentiels, Monter: Services du dossier personnel [Table des matières][Index]