The Nova docs are the canonical user guide for the current Stable release. Start there for installation, configuration, keybindings, updates, and recovery.
Yazelix Nova is a Nix-packaged terminal workspace built around Nova Rio, a minimal upstream Zellij distribution, Yazi, Nushell, Bash, Zsh, and Fish with Atuin history. It includes a lazygit popup with support for other Git clients and an optional coding-agent popup.
Yazelix Forest provides the default managed Helix file tree, and the narrow
Yazelix Radar fork provides the
collapsible Zellij rail. Nova uses the
Nova Helix fork by default;
editor.command can select another terminal editor. yzx launch opens the
desktop workspace through Rio, while yzx enter opens Yazelix in any capable
terminal emulator or over SSH. Great defaults out of the box!
If Yazelix is useful to you, support its development on GitHub Sponsors.
Yazelix requires Nix with flakes enabled. Install the checked Stable release:
nix profile add --refresh github:Yazelix/nova/stableOpen Nova through its packaged Rio terminal:
yzx launchEnter the same workspace in the current capable terminal or over SSH:
yzx enterLearn the core workspace keys inside Nova:
yzx tutor beginTo try the split work area, open a second work pane with Alt m, then press
Alt ] or Alt [ to switch between the stacked and split arrangements. The
Radar sidebar stays open or collapsed as you left it. The command palette's
layout entry remains available with Alt Shift M.
Full tab labels use [index name] in both focus states, keeping text and positions
steady when focus changes. Active tabs use bold orange on the terminal background;
inactive tabs use muted gray. Floating panes and popups add no tab indicator.
Initial picker tabs use their directory basename,
including lucca for /home/lucca/, without a special home icon or label.
Alt Shift B or Toggle bottom hints in the command palette hides or restores
bottom hint rows throughout the current session. Hiding them frees one row for
work panes; sidebar and layout switches retain the choice. New tabs inherit it,
and fresh sessions start with hints visible unless bottom_hints.start_hidden
is true. Attaching preserves the session's current choice. Toggling preserves pane order
and work-pane focus, including manually rearranged stacks and splits.
Open managed popups resize with the hint row, preserving their running process
and keyboard focus.
Set keybindings.bottom_hints to remap the shortcut, or false to disable it.
The hint row uses compact C, C-A, A and A-S modifier headers. Core
workspace and Nova shortcuts take priority as the terminal narrows; managed
hints follow shortcut remapping and disabling. C-A hl/jk move groups tab
movement with h/l and vertical pane movement with j/k.
Alt-Shift hints keep menu first, followed by fullscreen, hints and the HJKL shortcuts.
If startup fails, inspect Nova's owned runtime without opening Rio or Zellij:
yzx doctorLinux is the dogfooded platform. Native aarch64-darwin builds cover the Rio
packages and Home Manager closure; interactive macOS behavior and the Rio GUI
do not yet have complete release evidence. Use the
website install guide for Stable setup.
The repository installation reference covers Main and
Edge channels, all eight package variants, platform evidence, Home Manager,
updates, and the binary cache.
yzx is the sole public CLI: yzx launch, yzx enter, and yzx help.
The product name is Yazelix Nova; packages do not install a nova command.
The website holds the user guides:
Source, Edge, and maintainer references stay with the code:
- Architecture
- Runtime contracts
- Portable runtime contract (implementation target)
- Installation and package reference
- Development and verification
- Contributing
- Agent-status evidence
- Changelog
Enter the pinned development shell, then run the local gates:
nix develop
nix flake check
nix flake show --all-systems
nix build .#yazelix --no-link --print-build-logsThe repository works directly on edge. main and stable receive exact
verified revisions through the promotion process documented in
Development.
Report defects and focused proposals in GitHub Issues. Participation follows the Code of Conduct.
Special thanks to soderluk for sustained reports through unstable periods of Yazelix.
Special thanks to tag-und-nacht for detailed macOS, Home Manager, theming, and configuration reports.
Special thanks to TyceHerrman for thorough macOS and Nix packaging reports that hardened Darwin delivery.
Yazelix owns 31,844 code/configuration lines and 6,182 documentation/text
lines. The reproducible scorecard
excludes Beads, lockfiles, and binary assets. Minor-mode hint formatting,
native package tests and installed mode/exit coverage account for the hint
readability changes. Mode-scoped separators and bound-key preferences keep
the simplified Tab, Pane, Resize, Scroll and Search rows accurate when bindings change.
Group preferences require every selected key; renderer tests cover remaps,
aliases, duplicate preferences, literal comma keys and remapped search options.
Installed checks cover Search Input cancellation, submission and Search exits.
Rename hints separate save and cancel; installed checks verify typed names,
restoration on Esc, acceptance on Enter and the destination modes.
Session hints show detach, manager, config, plugins and Esc with the same pipes;
mode-scoped labels hide secondary hints while preserving their bindings.
Locked uses the same separator; installed checks verify key passthrough and unlocking.
Modifier badges and minor-mode labels use compact brace outlines without interior padding.
Native tab verification distinguishes foreground highlighting from styling and
backgrounds, waits for requested highlights, and checks stable text and mouse
targets across three widths with visible and hidden floating panes.
The shared package-root owner, managed-tool bindings, watcher ownership and
relocation check account for the runtime-root implementation's growth.
Agent guidance covers full-launcher startup, socket-path limits, cache isolation,
ordered-pane regressions and historical build artifact identity.
It also covers build reuse, bounded CPU budgets, timeout diagnosis and settled CPU measurements.
Two-pane stack checks protect focus when restoring hints with either sidebar state.
The sole native Zellij patch retains background permission callbacks until the
first client connects, then replays them. Mouse selection follows upstream behavior.
The startup-picker check uses physical keys and waits for the intended tab's
completed handoff or rejected-open notification before continuing.
Its control commands share a writable isolated cache and short socket directory;
timeout reports include the last screen to distinguish input from cleanup stalls.
Documentation covers macOS XDG opt-in and one config source shared between
explicit host and Nova destinations.
The sole yzx CLI removes alias packaging and compatibility-help logic. Its
checks protect the executable namespace, global help, managed PATH and child
argument/output/exit status.
The bottom-hint startup preference adds configuration, layout propagation and
session regression checks; the native background controller keeps the choice
across tab closure and consumes its initial value once.
Snapshot polls allow 20s under CPU limits; idle captures handle zero terminal output.
Product checks use Rust and a Bash archive probe. Python runs GitHub automation.
Preserving the native scenarios
increases check source lines while removing their Python build input.
Linux archive assembly, native-library relocation and input guards account for
code growth. The Nix-free interaction check exercises managed tools, previews,
host Git and Lazygit in a fresh workspace; public portable installation remains pending.
Host Git removes the archive's Git helper rewriting and Perl/Python/Gettext stack.
An archive-only compiler selects glibc 2.39 runtime providers; the library bundler
enforces the baseline. A focused check covers rejection, provider ownership and
failed ELF inspections, including failures after valid output.
Managed Yazi's pane-readiness gate prevents a zero-size startup exit; its
transition and bounded failure are checked.
Radar's private transport alias, upstream version reporting, and conflicting-host
regression check account for the agent delivery fix's code/configuration growth.
Managed Codex launches keep hooks in the pane process when supported; the
capability and argument regression check account for 89 additional code lines.
Managed Helix's pinned grammar snapshots keep Codeberg and SourceHut out of
package evaluation and grammar builds.
Delayed-EOF and native-key sidebar checks account for the additional test lines.

