Skip to content

Latest commit

 

History

History
204 lines (159 loc) · 15.3 KB

File metadata and controls

204 lines (159 loc) · 15.3 KB

Yazelix Collection

Yazelix is built on the shoulders of giants. Here are the projects, tools, and plugins that Yazelix integrates with or is inspired by, organized to match the Yazelix configuration structure. Each entry links to the project's homepage or repository and includes a description of its role in Yazelix.

Integration Levels

Deep Integration (🚀 deep-integration): Essential tools like Yazi, Zellij, and Helix have custom configurations, keybindings, and scripts that make them work seamlessly together.

Pre-configured (🔧 auto-configured): Tools with custom Yazelix configurations, shell initializers, or special setup.

Curated Recommendations: High-quality tools included in yazelix_default.toml as optional packages. These can be easily enabled/disabled by updating your config - Yazelix doesn't have special integration with most of these projects. They're just excellent tools we recommend!


Essential Tools

  • Yazi — A blazing-fast, modern terminal file manager with Vim-like keybindings, preview support, and extensibility. Yazi is the sidebar and file navigation backbone of Yazelix. 🚀 deep-integration
  • Zellij — A powerful terminal multiplexer that manages panes, layouts, and tabs. Zellij orchestrates the Yazelix workspace, allowing seamless integration between file manager, editor, and shell. 🚀 deep-integration
  • zjstatus — A configurable status bar plugin for Zellij. Yazelix uses zjstatus to display shell and editor information with custom formatting: [shell: nu] [editor: hx] YAZELIX. 🚀 deep-integration
  • Helix — A modal text editor inspired by Kakoune and Neovim, featuring fast performance, tree-sitter syntax highlighting, and LSP support. Helix is the default editor for Yazelix, enabling advanced workflows and sidebar integration. 🚀 deep-integration
  • Nushell — A modern shell that treats data as structured tables, making scripting and configuration more robust. Nushell is the default shell for Yazelix and powers its configuration and scripting. (default shell)
  • fzf — A general-purpose command-line fuzzy finder. Used in Yazelix for quick file and directory navigation. Press z in Yazi or fzf from terminal.
  • zoxide — A smarter cd command, tracking your most-used directories for instant navigation. Press Z in Yazi or z from terminal. 🔧 auto-configured
  • starship — A minimal, blazing-fast, and customizable prompt for any shell. Provides Yazelix with a beautiful, informative, and context-aware shell prompt. 🔧 auto-configured
  • bash — The GNU Bourne Again Shell, included for compatibility and as a fallback shell option.
  • macchina — A fast, customizable system information fetch tool. Used to display system info on the Yazelix welcome screen.
  • libnotify — Provides desktop notifications from the command line. Used for visual feedback in some Yazelix scripts.

Extra Shells

  • Fish — The Friendly Interactive Shell. Fish offers user-friendly features, autosuggestions, and syntax highlighting. Yazelix can install and integrate with Fish if selected in the configuration.
  • Zsh — The Z Shell. Zsh is a powerful, highly customizable shell with advanced scripting capabilities. Yazelix can install and integrate with Zsh if selected in the configuration.

Recommended Tools

  • lazygit — A simple terminal UI for git commands, making version control fast and intuitive. Yazelix includes lazygit for easy git management.
  • carapace — A cross-shell command-line completion engine. Improves tab completion in supported shells. 🔧 auto-configured

Yazi Extensions

  • p7zip — A port of the 7-Zip archiver. Enables archive extraction and compression in Yazi.
  • jq — A lightweight and flexible command-line JSON processor. Used by Yazi plugins for parsing and manipulating JSON data.
  • fd — A simple, fast, and user-friendly alternative to find. Powers fast file search in Yazi.
  • ripgrep — A line-oriented search tool that recursively searches your current directory for a regex pattern. Used for fast text search in Yazi.
  • poppler — A PDF rendering library. Enables PDF previews in Yazi.

Yazi Media Extensions

  • ffmpeg — A complete, cross-platform solution to record, convert, and stream audio and video. Used for media previews in Yazi.
  • ImageMagick — A software suite to create, edit, compose, or convert bitmap images. Enables image previews and thumbnails in Yazi.

Terminal Emulators

  • WezTerm — A GPU-accelerated terminal emulator and multiplexer written in Rust. Yazelix supports WezTerm for its advanced features, performance, and modern design.
  • Ghostty — A fast, modern terminal emulator written in Zig. Yazelix supports Ghostty as an equally excellent choice, offering speed and a modern feature set.
  • Kitty — A fast, feature-rich, GPU-accelerated terminal emulator. Yazelix supports Kitty for its performance, modern features, and excellent font rendering.
  • Alacritty — A fast, GPU-accelerated terminal emulator written in Rust. Yazelix supports Alacritty for its simplicity, speed, and cross-platform support.
  • foot — A minimalist Wayland terminal that stays lightweight while still supporting modern features like ligatures and Sixel graphics. Under evaluation for Yazelix once profiling confirms the benefits.

Editor Integration

  • Helix — The default modal text editor for Yazelix, with deep integration for sidebar and buffer management. 🚀 deep-integration
  • vim / neovim / kakoune / etc / any terminal editor: Yazelix is designed to let you set your preferred terminal editor via the editor_command configuration option. You can use any editor that launches from the terminal and Yazelix will integrate with your chosen editor for file opening from yazi and from the terminal.

Yazi Plugins & Extensions

Plugin catalog: https://github.com/yazi-rs/plugins

  • auto-layout.yazi — A Yazi plugin that dynamically adjusts the column layout for optimal sidebar usage. Core to the Yazelix sidebar experience. This is a maintained fork of Joseph Schmitt's original implementation (unmaintained).
  • sidebar-status.yazi — Removes a space-hungry status item so Yazi fits cleanly as a sidebar. Yazelix-only plugin.
  • git.yazi — A plugin that shows git status and changes directly in the Yazi sidebar, improving project awareness.
  • starship.yazi — Displays the Starship prompt in Yazi's header, showing contextual information like git branch, virtual environments, and project details.
  • lazygit.yazi — Launch lazygit directly from Yazi with a keybinding, providing seamless git workflow integration.

Nushell scripts

  • nuscripts — A collection of Nushell scripts, including the clip command for copying to the system clipboard. Used in Yazelix for clipboard integration. 🔧 auto-configured

User Packages

Yazelix offers two ways to add packages:

Pack declarations: Define packs in [packs.declarations] and enable them via packs.enabled:

[packs]
enabled = ["python", "git"]
user_packages = ["docker", "kubectl", "gleam"]

[packs.declarations]
python = [
  "ruff",
  "uv",
  "ty",
  "python3Packages.ipython",
]
git = [
  "onefetch",
  "gh",
  "delta",
  "gitleaks",
  "jujutsu",
  "prek",
]

Individual packages: Add specific tools via user_packages in yazelix.toml:

[packs]
# user_packages = ["atuin", "docker", "kubectl", "gleam"]

Example Pack Declarations

Complete toolchains you can declare:

Python Pack (python)

  • ruff — Fast Python linter and code formatter
  • uv — Ultra-fast Python package installer and resolver
  • ty — Extremely fast Python type checker from Astral
  • ipython — Enhanced interactive Python REPL with autocomplete, syntax highlighting, and magic commands

TypeScript Pack (ts)

  • typescript-language-server — TypeScript language server for IDE features and LSP support
  • biome — Formats JS, TS, JSON, CSS, and lints JS/TS
  • oxlint — Extremely fast TypeScript/JavaScript linter from the oxc project
  • bun — Fast all-in-one JavaScript runtime, bundler, test runner, and package manager

Rust Pack (rust)

  • cargo-edit — Add, remove, and upgrade dependencies from the command line (cargo add, cargo rm)
  • cargo-watch — Auto-recompile and re-run on file changes
  • cargo-audit — Audit dependencies for security vulnerabilities

Rust Extra Pack (rust_extra)

  • cargo-update — Updates Rust crates for project maintenance
  • cargo-binstall — Faster installation of Rust tools
  • cargo-nextest — Next-generation test runner with better output and parallelism

Go Pack (go)

  • gopls — Official Go language server for IDE features and LSP support
  • golangci-lint — Fast, comprehensive Go linter aggregator running multiple linters in parallel

Go Extra Pack (go_extra)

  • delve — Powerful debugger for Go with breakpoints, variable inspection, and more
  • air — Live reload for Go development with hot reloading on file changes
  • govulncheck — Official Go vulnerability scanner from the Go security team

Kotlin Pack (kotlin)

  • kotlin-language-server — Language server for IDE features and LSP support
  • ktlint — Linter and formatter with automatic code style fixing
  • detekt — Static code analysis tool for code quality and smell detection
  • gradle — Build automation tool for Kotlin/JVM projects

Writing Pack (writing)

  • typst — Modern document preparation system: a fast, markup-based alternative to LaTeX with a built-in compiler, formatter, and language server
  • tinymist — Full-featured Typst language server with LSP support (completions, diagnostics, hover, document export)
  • pandoc — Universal document converter supporting Markdown, LaTeX, HTML, Word, PDF, EPUB, and many more formats
  • markdown-oxide — Markdown PKM language server with LSP support for note links, completions, and knowledge graph navigation

Nix Pack (nix)

  • nil — Nix language server for IDE features (LSP support for Helix, VSCode, etc.)
  • nixd — Alternative Nix language server with advanced features and diagnostics
  • nixfmt — Official Nix code formatter

Tool Packs

General-purpose development tools:

Configuration Pack (config)

  • taplo — TOML formatter and language server for configuration files (included by default)
  • mpls — Markdown Preview Language Server with live browser preview and Mermaid/PlantUML support
  • yaml-language-server — Language Server for YAML files

File Management Pack (file-management)

  • ouch — Compression tool for handling archives
  • erdtree — Modern tree command with file size display
  • serpl — Command-line tool for search and replace operations

Git Pack (git)

  • onefetch — Git repository summary with statistics and language breakdown
  • gh — GitHub CLI for repository management and PR workflows
  • prek — Prettier git commit logs and history viewer

Jujutsu Pack (jj)

  • jujutsu — Modern version control system with powerful conflict resolution (command: jj)
  • lazyjj — LazyGit-style TUI for jj
  • jjui — TUI for Jujutsu VCS

AI Agents Pack (ai_agents)

AI coding agents sourced from llm-agents.nix with daily updates.

AI Tools Pack (ai_tools)

AI support tools: analytics, code review, and utilities (from llm-agents.nix).

  • coderabbit-cli — AI code review
  • ccusage — Claude Code usage tracker
  • ccusage-amp, ccusage-codex, ccusage-opencode — Usage trackers for other agents
  • beads — Conversation bead manager
  • openclaw — OpenClaw (formerly moltbot/clawdbot)
  • picoclaw — PicoClaw
  • zeroclaw — ZeroClaw

Usage: Enable packs in yazelix.toml by listing them in packs.enabled and defining them in packs.declarations, or add individual tools via user_packages for fine-grained control.


Thank you to all maintainers and the open source community for making Yazelix possible!