Do You Have Unixporn Addiction

Cette vidéo du Nixcast explore la question de savoir si la personnalisation poussée (ricing) de son environnement Linux est une perte de temps, avant de partager les astuces et configurations préférées des intervenants, des scratchpads aux thèmes en passant par les alias.

Voir la source

SYNTHÈSE STRUCTURÉE

Le ricing : une perte de temps ou un investissement ?

Le débat est lancé. Nate et Drew affirment d’emblée que le ricing est une perte de temps, car « la plupart du temps, quand tu installes Linux, ça a déjà tout ce dont tu as besoin ». Drew renchérit en disant qu’il a « passé des heures et des heures » à le faire, allant même jusqu’à construire une infrastructure pour rendre cette perte reproductible. Matt prend le contre-pied : pour lui, le ricing lui a permis d’apprendre le C, le Python, le Lua et le Bash. Il résume sa position ainsi : « Est-ce que c’est une perte de temps si tu n’en tires rien ? Oui, sans doute. Mais moi j’ai appris des trucs ». Le consensus final est que le ricing est un excellent moyen d’apprendre, surtout pour les débutants qui souhaitent maîtriser un gestionnaire de fenêtres.

Les scratchpads : l’obsession de Matt

Matt considère les scratchpads comme sa première et plus importante personnalisation sur tout gestionnaire de fenêtres. Il explique qu’un scratchpad est une fenêtre (souvent un terminal) qui vit sur un espace de travail invisible, peut être invoquée par un raccourci clavier, et disparaît sans être fermée. Il en a entre huit et dix, chacun dédié à une application (volume, musique, terminaux vides). Il précise que QTile et DWM offrent les meilleures implémentations, car les scratchpads sont lancés au démarrage et toujours prêts, contrairement à i3 où il faut les créer à partir d’une fenêtre existante. Drew ajoute qu’il a installé deux patches scratchpad différents sur son DWM, dont un qui permet d’élever n’importe quelle fenêtre en scratchpad à la volée.

Les barres d’état : un élément esthétique et fonctionnel

Nate explique qu’il aime avoir une barre supérieure parfaitement configurée, la plus petite possible tout en restant lisible, pour maximiser l’espace d’écran. Matt admet que sa barre est « très inutile » : il n’utilise que l’horloge et l’indicateur d’espace de travail, et ne clique jamais dessus. Drew confirme qu’il ne clique jamais non plus sur sa barre, mais qu’elle lui sert de retour visuel pour savoir quels espaces de travail sont occupés. Matt conclut en se demandant si les partisans de l’absence de barre n’ont pas raison, mais avoue qu’il aurait l’impression qu’il manque quelque chose s’il la supprimait.

Les alias : un outil de productivité incontournable

Drew présente les alias comme une forme de personnalisation essentielle. Il a organisé ses alias dans un fichier dédié, placé dans un répertoire bash modulaire, pour une meilleure reproductibilité. Nate va plus loin : il conserve tous ses alias sur une clé USB, ce qui lui permet de les retrouver sur n’importe quelle machine. Matt, quant à lui, utilise NixOS et stocke ses alias dans Home Manager, ce qui l’oblige à reconstruire le système à chaque modification. Il avoue avoir 321 alias (système inclus), et ses préférés sont ceux qui lui évitent de retenir des adresses IP pour ses serveurs : « Je tape juste jellyfin et ça me connecte ».

Les thèmes et la cohérence visuelle

Nate, bien qu’ayant qualifié le ricing de perte de temps, admet qu’il a besoin de changer de thème régulièrement. Il utilise des thèmes GTK comme Andromeda ou Everest. Matt a poussé la logique encore plus loin : il a écrit un moteur de thèmes pour Emacs (en Elisp, environ 2000 lignes) qui change automatiquement le thème de son éditeur lorsqu’il change le thème de son système via son sélecteur de thèmes. Il explique : « Je voulais que mon éditeur ressemble au reste de mon système ». Drew cite GitHub Dark comme son thème par défaut, mais apprécie aussi Everest, Moonfly et Groove Box.

Les terminaux : Kitty et la simplicité des fichiers de configuration

Nate et Matt apprécient particulièrement Kitty pour son fichier de configuration simple, basé sur des paires clé-valeur. Matt déclare : « Il n’y a pas de Lua débile, c’est tellement bien ». Drew, bien qu’utilisant WezTerm par défaut, reconnaît que Kitty est « vraiment excellent ». Matt précise que son terminal est la deuxième chose qu’il configure après les scratchpads, avec ZSH, Zoxide (pour naviguer rapidement entre les répertoires) et EZA (remplacement de ls).

Les animations dans la barre QTile

Matt a réussi à ajouter des animations à la barre de QTile en Python, en seulement 27 lignes de code. Il a modifié le widget GroupBox pour que le fond de l’espace de travail actif glisse visuellement vers le suivant lorsqu’il change d’espace de travail. Il précise que cela a été possible parce qu’il avait déjà créé un widget personnalisé pour contrôler les couleurs par espace de travail. Il compare cette fonctionnalité à ce que l’on trouve sur Wayland avec Hyprland ou Niri.

Les patches DWM : scratchpads et onglets

Drew explique qu’il a patché DWM pour y ajouter les scratchpads et un système d’onglets. Il a utilisé le programme tabbed de suckless pour créer une fonctionnalité d’onglets fonctionnant à la fois avec DWM et BSPWM. Il souligne que l’écriture de ce programme en C (avec libx11 et xinerama) est bien plus rapide et fluide qu’une tentative équivalente en Bash avec xdotool, xprop, xrandr et xwininfo.

Les keybindings : la mémoire musculaire avant tout

Drew considère les keybindings comme sa personnalisation la plus importante. Il les conserve identiques d’un gestionnaire de fenêtres à l’autre pour préserver sa mémoire musculaire. Par exemple, Super+V ouvre toujours le navigateur, Super+F le gestionnaire de fichiers. Nate, bien qu’utilisant un environnement de bureau (Cosmic), utilise aussi beaucoup les raccourcis clavier, mais combine avec la souris pour certaines tâches comme le transfert de fichiers.

CONCEPTS CLÉS

  • Scratchpad : Fenêtre (souvent un terminal) qui réside sur un espace de travail invisible et peut être affichée/masquée par un raccourci clavier, sans être fermée. Utile pour des applications qu’on utilise fréquemment mais pas en permanence (htop, musique, calculatrice).
  • Ricing : Terme du jargon Linux désignant la personnalisation poussée de l’apparence et du comportement de son environnement de bureau ou de son gestionnaire de fenêtres. L’origine du mot est floue et parfois controversée.
  • Alias : Raccourci défini dans le shell (Bash, ZSH) qui permet d’exécuter une commande complexe ou longue en tapant un mot simple. Exemple : alias jelyfin='ssh user@192.168.1.10'.
  • DWM (Dynamic Window Manager) : Gestionnaire de fenêtres minimaliste de la suite suckless, configurable uniquement en modifiant son code source en C et en le recompilant.
  • QTile : Gestionnaire de fenêtres en mosaïque écrit et configurable en Python, offrant une grande flexibilité pour la personnalisation de la barre et des comportements.

CONCLUSION

Le message principal de cet épisode est que la personnalisation de son environnement Linux, même si elle peut sembler une perte de temps, est en réalité un formidable vecteur d’apprentissage. Chaque intervenant a acquis des compétences solides (Python, C

Du même canal

Tout voir