Skip to content

Noctalia Architecture

The desktop shell is built on Noctalia (v5), a C++/native Wayland shell that is compositor-agnostic. Noctalia completely replaces the previous QML-based shell, escaping the ~300MB/monitor QML RAM tax to provide a fast, memory-efficient environment.

Configuration & Management

Noctalia is packaged via the noctalia flake input and enabled in home/shell.nix (programs.noctalia.enable).

Note

The configuration is maintained as a live out-of-store symlink at ~/.config/noctalia pointing to dots/noctalia. Home Manager explicitly does not write files here.

Core Features

Noctalia serves as the hub for the desktop's visual and interactive elements: - Wrap-Around Bar: A top and left wrap-around bar (an "L-frame") that defines the workspace bounds. - Lock & Idle: Robust lock/idle handling, providing the visual lock screen interface. - Media & Brightness: Hardware control routing via noctalia msg IPC commands. - Wallpaper Picker: Native desktop wallpaper integration.

Desktop Bar Layout

The panel layout uses a continuous visual frame composed of two segments meeting at a right angle: - Top Bar: Full width, containing a centered clock, tray, network, volume, battery, and control-center widgets. - Left Bar: Full height, housing the launcher, workspaces, and system monitors (CPU/GPU usage and temperatures).

Claude Code companion plugin (external)

A Claude Code companion plugin for Noctalia is developed in a separate repository (~/CodeRepo/noctalia-claude-plugin) and is not managed by this flake or tracked in dots/.

Theming & Color Engine

Theming is unified across the Noctalia bar, the kitty terminal, and the starship prompt. A custom Material 3 palette is generated by the color-engine (dots/color-engine/apply_theme.py), which writes hot-reloaded JSON to ~/.config/noctalia/palettes/volnix.json.

To apply a new theme across the system, use the provided Makefile target:

make theme-apply THEME=<name>
Noctalia automatically syncs its internal template blocks to kitty and starship to keep the color scheme fully unified.