Récemment, j’ai profité de ma migration de Fedora 43 vers Fedora 44 pour faire quelques ajustements sur mon environnement de travail.
Pendant longtemps, j’ai utilisé GNOME Terminal sans vraiment me poser de questions. Puis j’ai découvert Tilix, que j’ai apprécié pour sa gestion des splits et son approche plus orientée « power user ». Le problème, c’est que le projet évolue très peu aujourd’hui et reste basé sur GTK3.
Il y a quelque temps, j’avais donc décidé de migrer vers Ptyxis, le nouveau terminal moderne de l’écosystème GNOME basé sur GTK4. L’intégration est excellente, mais il lui manque encore quelques fonctionnalités et possibilités de personnalisation qui me gênaient au quotidien.
Plus récemment, j’ai découvert Ghostty suite à l’annonce de son créateur concernant la migration du projet de GitHub vers Codeberg. Le terminal est volontairement minimaliste, très rapide et moderne. Toute la configuration passe par un simple fichier texte : ce n’est pas forcément l’approche la plus user-friendly, mais elle est finalement très efficace dès qu’on prend le temps de lire la documentation.
Pour l’installer, sous Fedora, pour le moment, il faut passer par Copr :
$ sudo dnf copr enable scottames/ghostty
$ sudo dnf install ghostty
Voici ma configuration actuelle :
language = fr
# Theme
theme = light:Nord Light,dark:Nord
background-opacity = 0.9
background-blur = true
unfocused-split-opacity = 0.2
mouse-hide-while-typing = true
# Font
font-family = "SauceCodePro Nerd Font Mono"
font-size = 11
font-feature = +liga
# SSH VS xterm-ghostty
shell-integration = zsh
shell-integration-features = ssh-envQuelques explications sur les options utilisées :
language = frForce l’interface de Ghostty en français.
theme = light:Nord Light,dark:NordUtilise automatiquement le thème Nord clair ou sombre en fonction du thème GNOME actif.
background-opacity = 0.9Ajoute une légère transparence au terminal.
background-blur = trueActive un flou sur l’arrière-plan lorsqu’une transparence est utilisée. L’effet dépend du compositeur Wayland utilisé.
unfocused-split-opacity = 0.2Réduit l’opacité des splits inactifs afin de mieux distinguer le terminal actif.
mouse-hide-while-typing = trueCache automatiquement le curseur de la souris pendant la frappe.
font-family = "SauceCodePro Nerd Font Mono"Utilise SauceCodePro Nerd Font Mono, pratique pour les icônes et symboles utilisés par certains outils CLI modernes.
font-size = 11Définit la taille de la police.
font-feature = +ligaActive les ligatures typographiques pour certains symboles (!=, =>, ==, etc.).
shell-integration = zshActive l’intégration native avec Zsh.
shell-integration-features = ssh-envTransmet certaines variables d’environnement utiles lors des connexions SSH.

Cette configuration me permet d’obtenir un terminal sobre, moderne et bien intégré à GNOME, tout en gardant une apparence cohérente avec le thème Nord que j’utilise partout ailleurs.
Petite subtilité toutefois : au départ, j’avais configuré ceci :
shell-integration-features = ssh-env,ssh-terminfoLe problème, c’est que Ghostty exportait alors une valeur TERM=xterm-ghostty. Certains serveurs distants ne connaissaient pas ce terminal et cela provoquait divers problèmes d’affichage ou de compatibilité avec certaines applications en console.
En retirant ssh-terminfo, Ghostty cesse de propager cette valeur distante et tout fonctionne beaucoup plus proprement sur les serveurs qui ne disposent pas des entrées terminfo adaptées.







