Skip to content

Releases: luccahuguet/yazelix

v15: The trimmed workspace release, first-party Ghostty, and fast helperless popup/menu panes

13 Apr 16:03

Choose a tag to compare

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, no yazelix_packs.toml, no yazelix packs or yzx packs, no automatic config migrations, and no yzx 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, kept yzx launch as the managed external-terminal entrypoint, and kept yzx env as the non-UI tool-environment surface.
  • yzx popup and yzx menu --popup now 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 through yzx update upstream or yzx 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, usually lazygit.
  • yzx menu --popup: toggle the popup command palette.

Manual Follow-Up

  • Compare your current config with yazelix_default.toml or run yzx config reset to start fresh; v15 does not ship automatic config migrations.
  • If you relied on Classic-only surfaces such as yazelix packs, yzx packs, or yzx refresh, stay on the historical v14 tag or adapt to the trimmed v15 command surface.

Full Changelog: v14...v15

v14: Boundary hardening, honest update ownership, and a much cleaner runtime surface

10 Apr 18:32

Choose a tag to compare

  • 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, plus yzx home_manager prepare to 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/current and installer-owned indirection trimmed back sharply.
  • Update Ownership Is Explicit Again: yzx update upstream refreshes upstream/manual installs, yzx update home_manager refreshes the current Home Manager flake input, and the transitional yzx update runtime / yzx update all flow is gone again.
  • yzx run Is a Real Passthrough Again: yzx run now behaves like a one-shot argv passthrough for child commands, so child argv like yzx run rg --files go 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_life welcome mode, yzx screen to 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 separate yazelix_packs.toml file, 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 cwd to retarget the current tab workspace root with editor/sidebar sync, direct Ctrl+y focus toggling, and Alt+number tab 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 runtime with yzx update upstream for upstream/manual installs.
  • Replace yzx update all with exactly one owner path: yzx update upstream for upstream/manual installs or yzx update home_manager for Home Manager installs.

Full Changelog: v13...v14

v13: Plugin-managed editor/sidebar orchestration, deterministic sidebar controls, and cleaner Zellij workspace navigation

08 Mar 02:20

Choose a tag to compare

  • The Biggest Pain Points Are Fixed – v13 replaces fragile pane-scanning flows with a real Zellij plugin (written in rust!) that tracks the managed editor and sidebar panes 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 editor pane 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+y binding instead of being entangled with layout-family switching on Alt+[ and Alt+]
  • Deterministic Workspace NavigationAlt+y toggles focus between the managed editor and sidebar, while Alt+[ and Alt+] switch predictably between the single, vertical split, and bottom terminal layouts
  • Better Config Inspectionyzx config now supports focused section views for hx, yazi, and zellij, plus yzx config open
  • Simpler Update and Testing Commandsyzx update and yzx dev test were simplified into clearer defaults that are easier to remember and safer to use
  • Clearer Refresh and Environment Feedbackyzx env now shows rebuild activity more clearly, launch paths skip noisy shell-hook welcomes, and Yazelix warns when runtime versions drift
  • Command Paletteyzx menu gives you a searchable command palette for the main Yazelix actions, including a popup mode inside Zellij on Alt+Shift+m
  • Refresh Workflowyzx refresh makes it easier to rebuild the Yazelix environment without launching the UI, while yzx restart cleanly switches the current window onto the refreshed profile (as before)

v12: User-declared packs, Nixpkgs unstable, declarative themes, and tighter terminal/Zellij/Yazi integration

20 Jan 12:53

Choose a tag to compare

  • User-Declared Packs – Packs are defined in packs.declarations and enabled via packs.enabled, with refreshed presets (Rust/Go split, jj pack, simpler git, YAML support).
  • Yazi Plugin System – Declaratively enable/disable plugins via [yazi] plugins = ["git", "starship"] in yazelix.toml. Bundled plugins (git, starship, lazygit) can be disabled or replaced with your own installed via ya pkg add.
  • Yazi User Configs – Full merging support for yazi.toml, keymap.toml, and init.lua from configs/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_terminals to 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 sh desktop 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

03 Nov 02:03

Choose a tag to compare

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 or yzx launch drop from ~4s to ~0.5s, and you only pay a longer rebuild when you actually edit yazelix.toml. Yazelix is now Blazingly fast!
  • Configurable Build Cores – Control CPU core usage for Nix builds via build_cores in yazelix.toml. Options: max, max_minus_one (default), half, or custom number. Cross-platform support (Linux + macOS).
  • TOML Configuration Formatyazelix.toml is the single source of truth (auto-created on first launch) with clear legacy warnings when an old yazelix.nix is detected.
  • First-Class Neovim Support – Neovim retains feature parity with Helix (reveal in sidebar, same-instance opening, pane detection).
  • Performance Benchmarkingyzx bench measures terminal launch performance with statistical analysis.
  • Launch Profilingyzx profile pinpoints 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_TERMINAL environment 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 clp helper command. clp just calls clip 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