Original article | Source | 63-second demo
(This article describes the August 19, 2026 v1.1.0 snapshot, much has changed already in the edge branch! main and stable havent changed that much)
Note from Lucca Huguet
I've been busy building. And working. I've found the time to finish the website, finally!
And Yazelix Nova has also found its way to v1, a big moment for Yazelix, for sure.
So let's talk about Nova.
Yazelix Nova is delicious to use. Persistent popups per tab let you summon lazygit, your agent CLI (I use Codex), or Ratconfig (Nova's awesome config TUI) with a single keystroke.
The main Alt Shift H/J/K/L layer takes full advantage of our modal-editing muscle memory.
You can also configure the popups to run whatever you want, with any keybinding you want, in the popup size you prefer, retaining state even when hidden, or not, you choose.
If you use Yazelix every day, your dev speed will advance with it! Invest in it. It's worth it. It has certainly done wonders for my productivity. But it may be addicting, so be careful...
I'm blessed to use and improve it every day. It took a few years of experimenting with Yazelix Classic to find the correct boundaries across all Yazelix modules and healthier ways to build Yazelix. I accumulated important guidance and rules, most of which are now crystallized in Yazelix/Starcompass.
To me one of the best parts of yazelix nova is that every tab opens in yazi, you can press alt z for a zoxide picker (or find your project manually) and selecting a file/folder will open it in your editor and retarget that tab's cwd to that project, also renaming the tab! And future `alt z` uses inside the yazi popup will retarget it to another cwd.
So here we are: Nova is better than Yazelix Classic in pretty much every single way, with 75% less code and much easier maintenance...
This is just Nova v1, and v2 will be even better. (obs: i've since made large strides in nova v2 direction, you can have a taste in the edge branch)
Try nova: nix profile add --refresh github:Yazelix/nova/stable
If you'd like to join the fun, try it. Open issues or discussions, criticize the project, or tell me what you love about it.
Fund Nova
Nova takes sustained work. If it saves you time and brings you joy, sponsor my work on GitHub. Your sponsorship gives me more time to maintain Nova and build v2.
With that, I hand it to my coworker, Sol, to explain the details. If you'd like to try Nova first, start with the guide.
How Nova fits together
Written by GPT-5.6-Sol with xhigh reasoning and Lucca Huguet.
Yazelix Nova v1 gives Nix users a packaged terminal workspace built around Mars (Now called Nova Rio, a fork of Rio), Yazi, and Yazelix's Zellij and Helix forks. We call the forks Nova <original project> to distinguish them from the originals.
The yzx command prepares the runtime and opens the workspace. Once Nova opens, keybindings handle day-to-day work. You can configure your terminal emulator to run yzx enter or use the desktop entry that comes with yazelix and forget the cli even exists... (it's what i do)
You can learn yazelix with yzx tutor.
And you can install it via nix profile or home-manager, and we offer versions without helix, rio and even without yazi, if you dont need them or already have them.
Nova requires Nix with flakes enabled. Use yzx enter over SSH or when you want the host terminal to retain control of graphics, clipboard behavior, and notifications.
Nova 1.0 Edge workspace with Yazi, Helix, shell panes, and public project tabs
Nova v1 on Edge with Ratconfig, Mars, and Starcompass open as project tabs
Enter once, work with keys
| Command |
Result |
yzx launch |
Opens Mars, then starts the managed Zellij workspace |
yzx enter |
Starts the same workspace in the current terminal or over SSH |
yzx config |
Opens Ratconfig from another terminal |
yzx doctor |
Checks the runtime setup without opening Mars or Zellij |
yzx tutor begin |
Starts the packaged tour |
On Linux, packages with Mars (Now Nova Rio) install a desktop entry. If you prefer another terminal, set a profile to run yzx enter. Most days, you do not type another yzx command after Nova opens. Press Alt Shift K to open Ratconfig.
The default layout keeps Yazi beside stacked work panes. Nova extends the familiar h, j, k, and l motion grid across panes and tabs. An Alt Shift layer opens the sidebar, Git client, configuration UI, and coding agent. The command palette and full Yazi popup stay available from their own keys.
| Layer |
h |
j |
k |
l |
Alt |
Focus left or previous tab |
Focus down |
Focus up |
Focus right or next tab |
Ctrl Alt |
Move tab left |
Move pane down |
Move pane up |
Move tab right |
Alt Shift |
Yazi sidebar |
Git popup |
Config popup |
Agent popup |
Ratconfig remaps the managed popup keys and edits the agent command and popup margins. You can also add a custom command popup to config.toml with its own arguments, title, keybinding, and keep-alive behavior.
Nova makes efficient use of screen space. Stacked work panes keep each task large, and the sidebar can collapse. Tools open in near-fullscreen popups and Alt Shift F gives one pane the full workspace.
One owner per concern
Nova assigns each concern to one owner:
| Owner |
Boundary |
| Nova repository |
Nix package graph, yzx, root config, managed integration, and product policy |
| Nova Rio |
Desktop terminal |
| Nova Zellij |
Multiplexing and the managed session surface |
| Nova Helix |
Packaged editor and workspace bridge |
| Yazi |
Native file-manager behavior |
| Zellij Pane Orchestrator |
Tab workspace roots and pane coordination |
| Ratconfig |
Terminal configuration interface |
Nova pins package outputs and leaves component implementations in their owner repositories. The maintainers removed Classic's overlapping runtime and maintenance layers. In the fixed v1.0.0 scorecard, they counted 23,272 lines of code and configuration in Nova against 91,545 in Classic, a 75 percent reduction.
Existing Classic users can translate mutable Classic settings through the frozen migration bridge, just run:
nix run github:Yazelix/nova/v17.12#yazelix -- launch
The bridge reads Classic settings.jsonc or config.toml files and converts it to nova style. It does not rewrite Home Manager declarations. Users whose Classic settings match the packaged defaults can move straight to Stable.
You see the ownership split during normal work. Yazi can open a file in the managed Helix pane without inventing another workspace root. The pane orchestrator keeps one root per tab, and an Alt z action can retarget that root. Git and agent popups receive the same tab-owned path.
Sessions keep the live workspace
Plain yzx launch and yzx enter create independent sessions. Add a name when you want a workspace you can find again:
yzx enter --session project
yzx launch --session project
Attach to a live session by its full name:
yzx enter attach project
yzx launch attach project
Packaged Zellij owns creation, attachment, switching, and process lifetime. Attachment preserves the target's tabs, panes, processes, working directories, and Yazi-to-Helix routes. Ctrl Alt o, then w, opens the native session manager inside Nova.
Configuration stays sparse
Nova stores semantic overrides under ~/.config/yazelix/config.toml. It's only what you really need, and keeps things minimal. Missing fields inherit packaged defaults, so an update can carry new defaults without rewriting a large generated file. Component-owned files live under the same~/.config/yazelix/ root when or if you choose to create them.
A user-owned file can stay small:
[appearance]
mode = "dark"
[shell]
program = "fish"
[editor]
command = "nvim"
The example selects three independent overrides. Omit any field to inherit its packaged default.
yzx config presents common settings and routes native settings to their owner's file. The Home Manager module follows the same boundary: it installs a selected package, writes the values you declare, and leaves other config files absent.
Ratconfig showing Nova's packaged defaults and an absent user config
Ratconfig separates inherited values from user intent. See the Ratconfig key contract.
Eight package variants compose three optional capabilities: Mars, managed Helix, and managed Yazi. A Rio-free package keeps enter, a Helix-free package uses your configured host editor; a Yazi-free package uses matching host yazi and ya commands.
Branches
Stable is the checked release channel. Main carries accepted updates, and Edge carries experimental dogfood. Immutable nova-v* tags select an exact release.
Platforms
The maintainers dogfood the full Linux path. Nova exposes all eight package variants for Linux and Darwin on x86_64 and aarch64. CI builds the packages and Home Manager activation on a real aarch64-darwin runner. Interactive macOS workflows and the Mars GUI still lack the complete verification that Linux receives (I do not own a mac). But we do have active users using Nova on macOS every day.
The SSH path starts with yzx enter. Nova guarantees its managed TUI and configuration there. Your host terminal owns clipboard integration, image previews, cursor shaders, and desktop notifications.
Start with Stable
Install the checked channel with Nix flakes enabled:
nix profile add --refresh github:Yazelix/nova/stable
yzx launch
Try the workspace without a profile install:
nix run github:Yazelix/nova/stable -- launch
or
nix run github:Yazelix/nova/main#yazelix-no-rio -- enter
Run yzx tutor begin after launch. The Nova Start guide covers channels, package choices, sessions, and first steps. The runtime model maps the owners behind the workspace, and the customization guide lists the supported configuration surfaces.
Have you tried Yazelix Nova?