命令列工具
luccahuguet/yazelix avatar
luccahuguet/yazelix

Yazelix Nova:一個以 Nix 打包的弹窗式终端工作区

Yazelix Nova 是一個 Nix 打包的、面向彈出視窗的終端工作區,供本地使用和 SSH。它將 Mars(源自 Rio 的終端模擬器)與 Yazelix 擁有的 Zellij 和 Helix 叉子、Yazi、Nushell、Lazygit、Ratconfig、可選編碼代理、用於 CPU、RAM 和 AI 使用的可配置小部件列、遊標效果和終端動畫結合在一起。

1,179 個 Star52 個 ForkRustApache-2.0
GitHub

秒懂

它是什麼?
Yazelix Nova 將基于 Rio 的 Mars 终端模拟器、Zellij 與 Helix 的 Yazelix 分支以及 Yazi 和 Nushell 組合到一個 Nix 打包的工作区中。
適合誰用?
Yazelix Nova 的代码庫包含 25,905 行受跟踪的文本項目文件(不包括 Beads、锁文件和二進制資源),根據倉庫的可复現记分卡计算。该倉庫处于活跃開發中,有 26 個未解決的问題,并以 Apache 2.0 許可證分發。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫在最近一天內有新的提交。
用什麼語言寫的?
主要是 Rust(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

Nova 在终端工作区中的角色

Yazelix Nova 是一個 Nix 打包的终端工作区,用于本地使用和 SSH 連接。它結合了 Mars(一個源自 Rio 的终端模拟器,由 Yazelix 拥有)以及 Yazelix 拥有的 Zellij 和 Helix 分支,還有 Yazi、Nushell、Lazygit 弹窗、Ratconfig 配置工具、可选的编码代理弹窗、可配置的小部件栏,用于顯示 CPU、RAM 和 AI 使用情况,以及光標效果和终端动画。倉庫元數據將该項目描述為用 Rust 编寫,README 將其定位為"beta"版本。

為什么 Nova 與 Classic 不同

README 將 Nova 與名為 Classic 的先前版本進行了對比。它声稱 Classic 臃肿,并有一個所有權的倉庫結構,其中主倉庫承担了產品運行時、控制平面、配置修复、兼容層和维护工具的角色。Nova 的定位是將第一方 Yazelix 組件作為具有独立包边界的独立版本化包,每個組件拥有其實現和契约。README 报告稱 Nova 拥有 22,699 行代码和配置,而 Classic 為 91,545 行,减少了 75%。這些數字來自 README 中的比較表。

安装、發布渠道和平台

README 指出,Yazelix Nova 需要启用 flake 的 Nix。它描述了两种启动方式:`yzx launch` 通過 Mars 打開桌面工作区,而 `yzx enter` 在当前终端或 SSH 中启动工作区。README 记錄了三個渠道:`stable` 分支每周最多從经過测試的 `main` 修订版前進一次,`main` 提供更频繁的更新,`edge` 是實驗性的 dogfood 渠道。Linux 启动器將渠道顯示為"Yazelix Nova (Stable)"、"Yazelix Nova (Main)"或"Yazelix Nova (Edge)"。README 稱 Linux 是 dogfood 平台,CI 在 `aarch64-darwin` 上構建所有包和 Home Manager 激活。

文档化的命令和第一個五分钟

README 列出了几個 `yzx` 命令:`yzx tutor begin` 開始引導式導覽,`yzx help` 列出所有命令,`yzx doctor` 检查拥有的運行時設置而不启动 Mars 或 Zellij。`Alt Shift M` 在 Yazelix 內打開命令面板。README 還记錄了 Ratconfig,可通過 `Alt Shift K` 打開,這是一個配置界面,具有用于標籤頁導航、搜索、上下文操作和覆盖管理的键绑定。它描述了工作区键,這些键扩展了 Helix/Vim 的 `h/j/k/l` 運动模型,使用 `Alt` 和 `Ctrl Alt` 層來控制焦點、標籤頁或窗格,以及用于侧边栏、Git、Ratconfig 和代理的 `Alt Shift` 層。

包變體與組件

包名稱遵循 `yazelix[-no-mars][-no-helix][-no-yazi]` 模式。每個後缀移除该管理的包,同時保留其周围的集成。README 中的表格列出了八個變體,從完整的 `yazelix` 包到 `yazelix-no-mars-no-helix-no-yazi`。`yazelix-main` 和 `yazelix-edge` 是完整包的渠道輸出。README 還列出了第一方組件,包括 Mars、Yazelix Zellij 分支、Yazelix Helix 分支、Zellij 插件,如 Pane Orchestrator、Popup 和 Bar,以及 Ratconfig、Yazelix Screen、Yazelix Cursors、Yazi Bistro、auto-layout.yazi 和 zjstatus 分支。

配置模型

`yzx config` 通過 Ratconfig 打開配置界面,管理 `~/.config/yazelix/` 下的树。README 指出,Yazelix 繼承打包的默認值,并且只持久化顯式覆盖。配置界面在 Overview 视图中組合了推荐設置,并在 All 视图中包含完整的所有者清單。對于每個組件,编辑能力各不相同:Mars 和 Yazi 具有可编辑的有限选項,而 Helix 的行保持只讀,因為 Helix 不發布机器可讀的配置目錄。`appearance.mode` 在 dark 和 light 之間选择,用于管理的 Yazelix 組件,并控制 Ratconfig 的调色板。README 描述了外观模式如何传递给 Mars、Zellij 和 Yazi。

迁移與驗證點

README 包含一個從 Classic 迁移的部分。Classic v17.12 有一個桥接器,可以將可變的 Classic `settings.jsonc` 或 `config.toml` 文件转換為 Nova 配置,但它不会重寫 Home Manager 声明或 Home Manager 拥有的文件。README 指出,切換到 Nova 会替換旧的 `main` 历史记錄,因此現有克隆應使用新克隆替換,而不是普通拉取。Classic 在冻結的 `classic` 分支上保持可用,`v17.12` 標籤是迁移和回滚桥接器。迁移後,`yzx doctor` 报告已識別的 Classic 状态為只讀警告。關于性能基准、安全保證或生產使用,源材料没有建立任何事實。

Nova 的选择關键在于 Nix flake 與终端組件的組合方式。准備環境時應先确認 flake 能在目標系统求值,再分別運行 `yzx doctor`、`yzx help` 和 `yzx tutor begin`,把诊斷輸出與渠道名一起保存。桌面路径使用 `yzx launch`,当前终端或 SSH 路径使用 `yzx enter`,两者要分別检查窗口、Zellij、Helix 和 Yazi 是否出現。配置驗證應打開 `yzx config`,在 Overview 與 All 视图中比較默認值和顯式覆盖,并检查 `~/.config/yazelix/` 中實际保存的文件。若使用 `yazelix-no-mars`、`yazelix-no-helix` 或 `yazelix-no-yazi`,應记錄被移除組件對快捷键和工作区行為的影響。Classic 迁移不能靠普通 pull 完成,現有克隆需要用新克隆替換,桥接器只处理指定的配置文件。項目明确处于 beta,适合熟悉 Nix、终端和 SSH 的用戶,不适合作為無需维护的统一桌面環境。

升级時要区分 stable、main 和 edge,不要把三個渠道视為同一發布線。可先在临時 Home Manager 配置中加载完整包,再切換到 no-mars 或 no-yazi 變體,检查剩余組件是否仍能启动。迁移 Classic 前導出 settings.jsonc 或 config.toml,迁移後用 `yzx doctor` 查看只讀警告;不要在旧克隆上用普通 pull 代替新克隆流程。

终端工作区還要驗證 SSH 環境的终端類型、字體、颜色和窗口能力。`Alt Shift M` 命令面板、`Alt Shift K` Ratconfig 和工作区快捷键都依赖终端輸入,桌面 Mars 與已有终端的行為不能互相代替。配置只保存顯式覆盖這一點意味着升级後要检查繼承來的默認值是否改變。

對于 Classic 用戶,先确認桥接器能讀 v17.12 的 `settings.jsonc` 或 `config.toml`,再核對 Home Manager 文件没有被自动改寫。Nova 的代码统计來自 README 的比較表,不能当成速度或可靠性指標;Linux 作為 dogfood 平台也應保留回滚渠道。

第二次核對時,應把命令輸出、設備或運行時版本和產生的文件一起保存。只确認界面出現并不能說明功能完成,輸入、处理路径和輸出都要能對應到 luccahuguet 項目文档 的描述。對失败情况记錄错误位置和可重复的最小条件,避免把網络、權限、依赖缺失和項目逻辑混為一谈。材料没有提供的兼容性、性能或安全保證,繼續保留為未說明。

實际记錄還應包含一次失败路径。删除一個依赖、關闭一個權限或使用不匹配的版本後,观察項目是给出清晰错误、降级到部分功能,還是直接停止。恢复時再按 luccahuguet 文档 的入口重新执行,并比較前後輸出。這样才能把文档中的能力边界落實到目標環境,而不是只依據名稱和功能列表判斷。

編輯結論

Yazelix Nova 的代码庫包含 25,905 行受跟踪的文本項目文件(不包括 Beads、锁文件和二進制資源),根據倉庫的可复現记分卡计算。该倉庫处于活跃開發中,有 26 個未解決的问題,并以 Apache 2.0 許可證分發。

官方來源

  1. Official README
  2. Project repository
  3. Release notes
社群筆記

社群筆記