Releases: luccahuguet/yazelix
Releases · luccahuguet/yazelix
v15: The trimmed workspace release, first-party Ghostty, and fast helperless popup/menu panes
v15: The trimmed workspace release, first-party Ghostty, and fast helperless popup/menu panes
Latest
What's New In v15
v15 trims Yazelix down to the fast workspace core.
- v15 is the only supported Yazelix line now, and v14 is the final historical Classic snapshot rather than a maintained fallback.
- Dropped the out-of-scope Classic runtime-manager surface: no runtime-local
devenv, noyazelix_packs.toml, noyazelix packsoryzx packs, no automatic config migrations, and noyzx refresh. - Ghostty is now the first-party bundled terminal on Linux and macOS, while WezTerm, Kitty, Alacritty, and Foot remain supported when you provide them on the host
PATH. - Split current-terminal startup into
yzx enter, keptyzx launchas the managed external-terminal entrypoint, and keptyzx envas the non-UI tool-environment surface. yzx popupandyzx menu --popupnow share the fast helperless floating-pane path with explicit pane identity, shared toggle semantics, and no helper-pane detour.- Kept the workspace core around layouts, managed editor/sidebar orchestration,
yzx cwd,yzx reveal,yzx doctor,yzx whats_new, and explicit update owners throughyzx update upstreamoryzx update home_manager. - Continued the delete-first trim by replacing string-built runtime wrapper commands with direct runtime scripts, making maintainer pins explicit again, and keeping the runtime lock on the declared unstable input.
Command Surface
yzx launch: open Yazelix in a managed terminal window.yzx enter: start Yazelix directly in the current terminal.yzx env: enter the Yazelix tool environment without the UI.yzx popup: toggle the configured popup program, usuallylazygit.yzx menu --popup: toggle the popup command palette.
Manual Follow-Up
- Compare your current config with
yazelix_default.tomlor runyzx config resetto start fresh; v15 does not ship automatic config migrations. - If you relied on Classic-only surfaces such as
yazelix packs,yzx packs, oryzx refresh, stay on the historicalv14tag or adapt to the trimmed v15 command surface.
Full Changelog: v14...v15
v14: Boundary hardening, honest update ownership, and a much cleaner runtime surface
- Boundary Hardening Across Launch and Runtime: Launch, runtime, and desktop startup got much harder to break on flake-installed or Home Manager-owned setups.
- Workspace Truth Moved Deeper Into the Pane Orchestrator: Sidebar identity and workspace retargeting now depend more on live Zellij truth and less on shell-side cache heuristics.
- Home Manager Became a First-Class Owner Path: Home Manager now has profile-owned
yzx, plusyzx home_manager prepareto preview or archive manual-install artifacts before takeover, and stronger validation around generated config surfaces and takeover flows. - The Packaged Runtime Is the Honest Center: The flake package surface is primary now, with
runtime/currentand installer-owned indirection trimmed back sharply. - Update Ownership Is Explicit Again:
yzx update upstreamrefreshes upstream/manual installs,yzx update home_managerrefreshes the current Home Manager flake input, and the transitionalyzx update runtime/yzx update allflow is gone again. yzx runIs a Real Passthrough Again:yzx runnow behaves like a one-shot argv passthrough for child commands, so child argv likeyzx run rg --filesgo through unchanged.- The Front Door Stayed Richer: The current v14 line carried forward the late-v13 front-door expansion, including the welcome style selector, the live
game_of_lifewelcome mode,yzx screento preview the animated welcome screen directly in the terminal, and the managed popup runner with configurable popup commands and sizing. - Config Ownership Became Much Clearer:
user_configs/, the separateyazelix_packs.tomlfile, the migration engine, and first-run upgrade summaries made config ownership and upgrades much more explicit. - Workspace Control Kept Tightening: Managed editor/sidebar routing, deterministic sidebar controls,
yzx cwdto retarget the current tab workspace root with editor/sidebar sync, directCtrl+yfocus toggling, andAlt+numbertab jumps all matured across the line. - Delete-First Cleanup Set the Next Seam: A broad cleanup pass removed stale compatibility surfaces and documented the trim-first path toward v15.
Historical Note
v14 is the final historical Yazelix Classic release.
Classic was the broader integrated shape of Yazelix: yazelix packs, yzx packs, dynamic runtime management, richer shell and terminal breadth, multiple ownership paths, and a much wider yzx surface.
That line is no longer supported. v15 is now the only supported Yazelix line, and it trims that older runtime-manager scope out of the product.
Use the v14 tag only if you specifically need that older Classic product shape.
Manual Action Required For Some Users
- Replace
yzx update runtimewithyzx update upstreamfor upstream/manual installs. - Replace
yzx update allwith exactly one owner path:yzx update upstreamfor upstream/manual installs oryzx update home_managerfor Home Manager installs.
Full Changelog: v13...v14
v13: Plugin-managed editor/sidebar orchestration, deterministic sidebar controls, and cleaner Zellij workspace navigation
- The Biggest Pain Points Are Fixed – v13 replaces fragile pane-scanning flows with a real Zellij plugin (written in rust!) that tracks the managed
editorandsidebarpanes and routes workspace actions directly instead of relying on shell heuristics - The Sidebar Can Always Find the Editor – The sidebar can now always find the managed
editorpane and open files in it reliably, and it is much faster because Yazelix no longer has to walk through panes or rely on pane-scanning heuristics - Sidebar and Layout Controls Are Finally Separate – Sidebar open/close now has its own
Ctrl+ybinding instead of being entangled with layout-family switching onAlt+[andAlt+] - Deterministic Workspace Navigation –
Alt+ytoggles focus between the managed editor and sidebar, whileAlt+[andAlt+]switch predictably between thesingle,vertical split, andbottom terminallayouts - Better Config Inspection –
yzx confignow supports focused section views forhx,yazi, andzellij, plusyzx config open - Simpler Update and Testing Commands –
yzx updateandyzx dev testwere simplified into clearer defaults that are easier to remember and safer to use - Clearer Refresh and Environment Feedback –
yzx envnow shows rebuild activity more clearly, launch paths skip noisy shell-hook welcomes, and Yazelix warns when runtime versions drift - Command Palette –
yzx menugives you a searchable command palette for the main Yazelix actions, including a popup mode inside Zellij onAlt+Shift+m - Refresh Workflow –
yzx refreshmakes it easier to rebuild the Yazelix environment without launching the UI, whileyzx restartcleanly switches the current window onto the refreshed profile (as before)
v12: User-declared packs, Nixpkgs unstable, declarative themes, and tighter terminal/Zellij/Yazi integration
- User-Declared Packs – Packs are defined in
packs.declarationsand enabled viapacks.enabled, with refreshed presets (Rust/Go split,jjpack, simpler git, YAML support). - Yazi Plugin System – Declaratively enable/disable plugins via
[yazi] plugins = ["git", "starship"]inyazelix.toml. Bundled plugins (git, starship, lazygit) can be disabled or replaced with your own installed viaya pkg add. - Yazi User Configs – Full merging support for
yazi.toml,keymap.toml, andinit.luafromconfigs/yazi/user/. User settings override defaults while preserving Yazelix's editor integration. - Zellij & Yazi Themes – Theme/sorting controls, bundled Yazi flavor themes, and a documented cross-theme set shared by Zellij/Helix/Yazi.
- Terminal – Ordered terminal list that defines primary launch target and fallback order for auto-detection,
manage_terminalsto disable Yazelix-managed terminal packages for system-installed terminals, and automatic environment rebuilds before launch/restart on terminal config changes. - Zellij – Pinned zjstatus with configurable widget tray (
zellij.widget_tray) and per-item toggles. - Launch & Config – Direct TOML config parsing, setup-only bootstrap option, modularized core commands, POSIX
shdesktop launcher. - Nixpkgs Unstable – Uses unstable for all packages.
- Updates & UX – Smarter update suite:
yzx update devenv|lock|zjstatus|repo|all, cleaner lock refresh, sweep robustness, extensive bug fixes, and better warnings/compat fixes.
Full Changelog: v11...v12
v11: Devenv launch workflow, TOML-first config, way faster cold starts, Neovim parity, a built-in performance toolkit, and richer pack presets
Improvements of v11 over v10
- Devenv-Based Launch Workflow – Yazelix now runs through
devenv shell --impure; devenv's SQLite cache automatically detects config changes so cold launches from a desktop entry oryzx launchdrop from ~4s to ~0.5s, and you only pay a longer rebuild when you actually edityazelix.toml. Yazelix is now Blazingly fast! - Configurable Build Cores – Control CPU core usage for Nix builds via
build_coresinyazelix.toml. Options:max,max_minus_one(default),half, or custom number. Cross-platform support (Linux + macOS). - TOML Configuration Format –
yazelix.tomlis the single source of truth (auto-created on first launch) with clear legacy warnings when an oldyazelix.nixis detected. - First-Class Neovim Support – Neovim retains feature parity with Helix (reveal in sidebar, same-instance opening, pane detection).
- Performance Benchmarking –
yzx benchmeasures terminal launch performance with statistical analysis. - Launch Profiling –
yzx profilepinpoints environment setup bottlenecks and profiles cold vs warm startup paths. - Enhanced UI Controls – Configurable Zellij options:
disable_zellij_tips(default: true),zellij_rounded_corners(default: true). - Streamlined Startup – Welcome screen disabled by default for faster launches (info still logged).
- Sweep Testing Framework – Matrix testing for all shell/terminal/feature combinations (
yzx sweep shells|terminals|all). - Terminal Detection – Proper terminal identification via
YAZELIX_TERMINALenvironment variable. - Conditional Shell Hooks – Shell hooks load Yazelix tooling only inside managed shells, preventing surprises in regular terminals.
- Yazi Directory Sync – Opening files from Yazi moves the sidebar to the file's parent directory so the view stays in sync with editor context.
- Simplified Clipboard – Replaced the custom clipboard module with Nushell's standard library implementation and added the
clphelper command.clpjust callsclip copy - Comprehensive Pack System – 10 curated technology packs organized into language_packs and tool_packs:
- Language Packs (7): Python, TypeScript, Rust, Go, Kotlin, Gleam, Nix – complete toolchains with LSP, formatters, linters, and dev tools.
- Tool Packs (3): Git (onefetch, gh, delta, gitleaks, jj, prek), Config (taplo, mpls), File Management (ouch, erdtree, serpl).
- Enhanced Packs: Expanded Rust pack (6 tools), improved TypeScript pack with oxlint and typescript-language-server, Python pack with ipython.
Full version history: Version History