Skip to content

Nova Runtime Model

Yazelix Nova is a Nix-packaged terminal workspace with one front door: yzx.

yzx launch -> Mars -> managed Zellij workspace
yzx enter -> current terminal -> managed Zellij workspace
yzx run -> prepared Nova environment -> requested program

Bare yzx prints help. launch is the only Mars route. enter needs an interactive terminal and works without a display server.

The full package includes:

  • Mars for graphical launch
  • the Yazelix Zellij fork and managed layout
  • managed Yazi, Helix, and Nushell
  • popup, config, screen, tutor, Git, prompt, and completion tools

Package names follow yazelix[-no-mars][-no-helix][-no-yazi]. Each suffix removes that managed package while retaining the remaining integration. Mars-free packages use yzx enter; Helix-free and Yazi-free packages use the selected host tools.

Nova renders runtime state under:

~/.local/share/yazelix

This directory is output. Edit the config inputs instead.

The optional sparse semantic config is:

~/.config/yazelix/config.toml

Component-native files live under the same ~/.config/yazelix/ root. Normal host config at ~/.config/{helix,yazi,starship} is not loaded by default.

Nova targets managed panes by identity:

  • the file tree is a managed Yazi sidebar
  • each tab has one canonical workspace root
  • managed opens reuse the tab’s editor
  • yzx reveal opens the persistent Yazi popup at a target
  • Git and agent tools use workspace-scoped popups
  • Alt z retargets the tab workspace and editor together

Mars owns the terminal. Yazelix Zellij owns multiplexing, Ratconfig owns the config UI toolkit, and focused first-party packages own popups, pane orchestration, the top bar, screens, cursors, and Yazi themes. Nova pins and composes their package outputs.

See the canonical architecture for component contracts and verification gaps.