Noctalia Will Change Your Desktop (Forever)
Noctalia est un shell Wayland modulaire, extensible et philosophiquement cohérent qui offre une base esthétique et fonctionnelle complète sans empiéter sur le rôle du compositeur, permettant aux utilisateurs de window managers de gagner des semaines de configuration tout ...

SYNTHÈSE STRUCTURÉE
Qu’est-ce que Noctalia (et ce qu’il n’est pas)
Noctalia n’est pas un environnement de bureau. Il ne gère pas les fenêtres, ne monte pas les périphériques USB et ne contrôle pas le compositeur. C’est un shell au sens strict : la couche visuelle qui se pose sur votre compositeur Wayland pour lui donner une interface utilisateur. L’intervenant insiste : « Noctalia is a shell, a shell in the most precise and noble sense of the word, the visual layer that sits on top of your Wayland compositor and gives it a face. » Panneaux, barre supérieure, notifications, dock, écran de verrouillage, widgets : tout ce qui est visible et interactif relève de Noctalia. Tout ce qui touche aux fenêtres, espaces de travail, montage de périphériques reste du ressort du compositeur.
Une séparation des responsabilités rare
Cette séparation claire des préoccupations est exceptionnelle dans l’écosystème Linux. L’intervenant souligne que la plupart des projets similaires « either does too little and leaves you halfway, or does too much and becomes an unmaintainable Frankenstein ». Noctalia fait exactement ce qu’il doit faire, ni plus ni moins. Cette philosophie garantit une maintenance saine et une intégration transparente avec le compositeur.
Architecture technique : QuickShell, Qt6 et QML pur
Noctalia est construit sur QuickShell, utilisant Qt6 et QML. L’intégralité du code est en QML pur, sans une ligne de C++. L’intervenant précise : « there’s not a single line of C++ in the code base. It’s pure QML. » Le shell utilise les protocoles Wayland natifs pour se positionner en tant que layer shell, ce qui signifie qu’il ne lutte pas contre le compositeur mais se pose élégamment au-dessus. Le support natif couvre Neerey, Hyperland, Sway, Scroll, LabWC et MangoBC. Pour les autres compositeurs, une configuration manuelle des espaces de travail est nécessaire.
Le problème que Noctalia résout : la barrière d’entrée du ricing
Les utilisateurs de window managers comme LabWC, Hyperland ou Neerey recherchent le contrôle et la satisfaction de construire un environnement sur mesure. Mais ce processus exige un temps et des connaissances considérables : maîtriser Waybar ou EWW, savoir écrire du CSS, configurer chaque service système. L’intervenant explique : « A lot of people get lost here, not for lack of motivation, but because the entry barrier is extremely high. » Noctalia abaisse cette barrière sans retirer le contrôle.
Une fondation, pas un thème imposé
Noctalia fournit un environnement fonctionnel, beau et cohérent dès l’installation, comparable à ce qui prend habituellement des semaines de travail. Mais ce n’est pas un raccourci paresseux. L’intervenant le décrit comme « a foundation. It’s the starting point from which you then express your own customization, not someone else’s endpoint. » L’utilisateur conserve la liberté de personnaliser chaque aspect.
Personnalisation de la barre supérieure et système de plugins
La barre supérieure est entièrement personnalisable avec des widgets classiques (menu d’applications, indicateur système, navigation par espaces de travail avec défilement). Le système de plugins ouvre des possibilités bien plus vastes. Un plugin peut ajouter :
- des widgets à la barre supérieure
- des widgets sur le bureau (affichés directement sur le fond d’écran)
- des widgets dans le centre de contrôle
- des fournisseurs personnalisés pour le lanceur d’applications
- des panneaux complets s’ouvrant en superposition
- de la logique en arrière-plan avec communication IPC
- sa propre interface dans les paramètres de Noctalia
Le centre de contrôle : un outil complet et réfléchi
Le centre de contrôle est l’élément qui a le plus surpris l’intervenant. Il ne se limite pas à quelques interrupteurs. Il permet de gérer :
- Volume (entrée et sortie) avec panneau audio coulissant
- Luminosité
- Lecteur multimédia intégré (lecture, pause, pistes suivante/précédente, recherche relative)
- Wi-Fi avec bascule rapide et panneau réseau listant les réseaux disponibles
- Bluetooth avec panneau dédié à la gestion des appareils
- Mode avion (désactive Wi-Fi et Bluetooth en un geste)
- Profils d’alimentation (économiseur, équilibré, performance) avec un mode performance spécifique à Noctalia
- Notifications avec mode ne pas déranger, historique et possibilité de tout effacer
- Écran de verrouillage
- Inhibiteur d’inactivité pour empêcher la mise en veille
- Surveillance de la batterie avec panneau dédié
Les plugins peuvent ajouter leurs propres boutons et panneaux au centre de contrôle.
Gestion IPC : tout est contrôlable depuis le terminal
Chaque fonction de Noctalia est accessible via IPC, donc depuis n’importe quel raccourci clavier du compositeur. L’intervenant donne des exemples concrets : « Want to open the launcher with super space? One IPC command. Want to raise the volume with media keys? One IPC command. Want a key that shows the emoji picker? One IPC command. » Il est également possible d’envoyer des notifications toast depuis un script système en spécifiant titre, corps, icône, type (notice, warning, error) et durée en millisecondes. Le shell devient ainsi un composant programmable de l’environnement.
Architecture des plugins : propre et documentée
Chaque plugin possède un manifeste JSON décrivant son fonctionnement, puis des fichiers QML optionnels pour chaque type de composant, des traductions, des paramètres utilisateur et de la logique en arrière-plan. L’intervenant précise : « If you know how to write QML, you can write plugins for Noctalia. » La documentation est complète, avec un parcours d’apprentissage allant du premier widget à l’intégration IPC avancée. Les modifications de paramètres sont appliquées immédiatement et sauvegardées automatiquement. Pour NixOS, un module home manager permet une configuration déclarative avec redémarrage automatique du service.
Thème par défaut et cohérence visuelle
Le thème par défaut adopte une esthétique lavande douce et minimaliste, décrite comme « quiet by design, silent by choice ». Il ne s’impose pas. Noctalia prend en charge les schémas de couleurs personnalisés, les modèles utilisateur et le thème pour GTK, Qt, Firefox, Discord, VS Code, Neovim, Steam et Spotify. Il est possible de colorer l’ensemble du système de manière cohérente à partir du thème Noctalia.
Installation et adoption
L’intervenant a testé Noctalia avec Neerey sur Void Linux et a été agréablement surpris. L’installation est simple : Neerey est disponible dans les dépôts Void. Le projet compte 4 800 étoiles GitHub et 368 forks en quelques mois, ce qui témoigne d’une reconnaissance immédiate par la communauté.
CONCEPTS CLÉS
- Layer shell : Protocole Wayland permettant à une application de se positionner en tant que couche superposée au-dessus du compositeur, sans interférer avec la gestion des fenêtres.
- QuickShell : Framework basé sur Qt6 et QML pour créer des shells Wayland de manière déclarative.
- IPC (Inter-Process Communication) : Mécanisme permettant à des processus distincts de communiquer. Noctalia expose toutes ses fonctions via IPC, rendant le shell programmable depuis le terminal.
- Ricing : Pratique de personnalisation poussée de l’environnement de bureau, impliquant la configuration manuelle de chaque élément visuel et fonctionnel.
- Home manager (NixOS) : Module NixOS permettant de gérer la configuration des applications utilisateur de manière déclarative, avec rechargement automatique des services.
CONCLUSION
Noctalia n’est pas un énième thème ou une surcouche