-
-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy pathyazelix_default.toml
More file actions
273 lines (240 loc) · 12.4 KB
/
yazelix_default.toml
File metadata and controls
273 lines (240 loc) · 12.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
# Yazelix Configuration (TOML format)
# yazelix.toml will be automatically copied from yazelix_toml if not found during launch. But you can manually copy it to yazelix.toml too.
# yazelix.toml is gitignored so you can pull updates without conflicts
#
# Note: Most configuration changes require restarting Yazelix to take effect.
[core]
debug_mode = false # Enable verbose debug logging in the shellHook
skip_welcome_screen = false # When true, welcome info is logged instead of displayed
show_macchina_on_welcome = true # Show system info on welcome screen (uses macchina)
welcome_style = "random" # Welcome style: "static", "logo", "boids", "game_of_life", or "random" (never picks "static")
welcome_duration_seconds = 2.0 # Welcome animation duration in seconds for animated styles; logo ignores this and keeps its fixed timing (0.2 to 8.0)
[helix]
# Helix runtime path (advanced users only)
# ONLY set this if editor_command points to a custom Helix build
# The runtime MUST exactly match your Helix binary version to avoid errors
#
# Common scenarios:
# • Development build: "/home/user/helix/runtime"
# • Custom install: "/opt/helix/share/helix/runtime"
# • System package: "/usr/share/helix/runtime"
#
# To find your runtime: ls $(dirname $(which hx))/../share/helix/runtime
# If this path doesn't exist, your Helix may be incompatible
# runtime_path = "/path/to/custom/helix/runtime"
[editor]
# editor_command options:
# • null (recommended): Use yazelix's Nix-provided Helix
# - Eliminates runtime conflicts with existing Helix installations
# - Binary and runtime are perfectly matched
# - Full yazelix integration features (reveal in sidebar, same-instance opening, pane detection)
#
# • "nvim": Use Neovim (first-class support)
# - Full yazelix integration features (reveal in sidebar, same-instance opening, pane detection)
# - Requires keybinding setup - see docs/neovim_keybindings.md
# - Works with your existing Neovim configuration
#
# • "hx": Use your system Helix from PATH
# - Requires setting helix_runtime_path to match your Helix version
# - Full yazelix integration if runtime matches
# - Use this if you have a custom Helix build you prefer
#
# • Other editors: "vim", "nano", "emacs", "kak", etc.
# - Basic integration only (new panes, tab naming)
# - No advanced features (reveal in sidebar, same-instance opening)
# - Works reliably but with limited yazelix-specific functionality
command = "" # Leave empty to use yazelix's helix (recommended), or set to "nvim", "hx", "vim", etc.
# Enable or disable the Yazi sidebar (default: true)
# When false, Yazelix uses clean, full-screen layouts with on-demand file picking
# When true, Yazelix uses persistent sidebar layouts for IDE-like workflow
# You can access Yazi manually with `yazi` command or `Ctrl+y` inside Yazelix
enable_sidebar = true
# Sidebar width when the Yazi sidebar is open (default: 20)
# Valid range: 10 to 40 percent
# Higher values give Yazi more room but reduce editor space
sidebar_width_percent = 20
[shell]
# Default shell for Zellij: "nu", "bash", "fish", or "zsh" (default: "nu")
# The selected shell must be available in the installed Yazelix runtime or host PATH.
default_shell = "nu"
[terminal]
# Terminal emulator preference list (ordered)
# The first entry is the primary terminal used for launch; the rest are fallbacks.
# Options: "ghostty", "wezterm", "kitty", "alacritty", "foot" (Linux-only)
#
# Ghostty availability:
# - Linux and macOS: Provided by Yazelix via Nix as the built-in default terminal path
# - WezTerm, Kitty, and Alacritty: supported PATH-provided alternatives
# - Foot: supported Linux-only PATH-provided alternative
#
# Auto-detection fallback order matches this list.
# WezTerm is the recommended fallback (works on both platforms, best image preview)
terminals = [
"ghostty",
# "wezterm",
# "kitty",
# "alacritty",
# "foot",
]
# Terminal config mode (how Yazelix handles terminal emulator configs)
# Options:
# - "yazelix": Use Yazelix-managed configs under ~/.local/share/yazelix/configs/terminal_emulators
# - "user": Load the terminal's native user config path instead; this requires that the real config file already exists
# Supported customization path: keep "yazelix" and add terminal-native tweaks under ~/.config/yazelix/user_configs/terminal/
config_mode = "yazelix"
# Cursor color palette for Ghostty shaders, plus Kitty's simple cursor-trail fallback
# Disable the palette and fallback trail: "none"
# Mono-color: "blaze", "snow", "cosmic", "ocean", "forest", "sunset"
# Duo-color: "neon", "eclipse", "dusk", "orchid", "reef"
# Extreme: "party"
# Special: "random" (chooses any Ghostty color palette except "party")
# Supported by Ghostty and Kitty: "snow"
# In short: pick ghostty for cool cursor trails
ghostty_trail_color = "random"
# Tail effect for Ghostty cursor movement
# Note: Helix does not support all Ghostty trail effects yet. Neovim currently has the best support.
# Options: "tail", "warp", "sweep", "random"
ghostty_trail_effect = "random"
# Mode-change effect for Ghostty. This is triggered when the editor changes cursor mode,
# such as Neovim switching between normal and insert.
# Options: "ripple", "sonic_boom", "rectangle_boom", "ripple_rectangle", "random"
ghostty_mode_effect = "random"
# Glow around Ghostty cursor trails and related cursor effects (default: "medium")
# Options: "none", "low", "medium", "high"
# - "none": Keep the cursor/trail color effect but remove the extra spatial glow
# - "low": Tight, subtle glow
# - "medium": Current Yazelix look (recommended default)
# - "high": Larger, brighter aura
ghostty_trail_glow = "medium"
# Terminal transparency level (default: "medium")
# Options: "none", "very_low", "low", "medium", "high", "very_high", "super_high"
# - "none": No transparency (opacity = 1.0)
# - "very_low": Minimal transparency (opacity = 0.95)
# - "low": Light transparency (opacity = 0.90)
# - "medium": Medium transparency (opacity = 0.85)
# - "high": High transparency (opacity = 0.80)
# - "very_high": Very high transparency (opacity = 0.70)
# - "super_high": Maximum transparency (opacity = 0.60)
transparency = "medium"
[zellij]
# Disable Zellij tips popup on startup (default: true)
# It is recommended to set this to false, so you learn more about zellij
disable_tips = true
# Show Zellij pane frames (default: true)
pane_frames = true
# Enable rounded corners for Zellij pane frames (default: true)
rounded_corners = true
# Enable Kitty keyboard protocol in Zellij (default: false)
# Disable if dead keys stop working in your terminal (e.g. Ghostty)
support_kitty_keyboard_protocol = false
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# CROSS-COMPATIBLE THEMES (Zellij + Yazi + Helix)
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# These 9 themes work across all three programs (accounting for name variations):
#
# catppuccin-frappe, catppuccin-latte, catppuccin-macchiato,
# dracula, gruvbox-dark, kanagawa, nord, ayu-dark, tokyo-night
#
# For consistent theming, set the same theme in:
# - [zellij] theme (below)
# - [yazi] theme (further down)
# - Helix: Add to ~/.config/helix/config.toml → theme = "dracula"
#
# Note: Helix uses underscores in theme names (e.g., catppuccin_frappe)
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Zellij theme (default: "default")
# Special: "random" - picks a different random theme on every yazelix restart
# Dark themes (28): ansi, ao, atelier-sulphurpool, ayu_mirage, ayu_dark, catppuccin-frappe,
# catppuccin-macchiato, cyber-noir, blade-runner, retro-wave, dracula, everforest-dark,
# gruvbox-dark, iceberg-dark, kanagawa, lucario, menace, molokai-dark, night-owl, nightfox,
# nord, one-half-dark, onedark, solarized-dark, tokyo-night-dark, tokyo-night-storm,
# tokyo-night, vesper
# Light themes (9): ayu_light, catppuccin-latte, everforest-light, gruvbox-light,
# iceberg-light, dayfox, pencil-light, solarized-light, tokyo-night-light
# See: https://zellij.dev/documentation/theme-list.html
theme = "default"
# Zjstatus widget tray (right side of status bar)
# Available widgets: "editor", "shell", "term", "cpu", "ram"
# Comment out any line to hide that widget
widget_tray = [
"editor", # Active editor
"shell", # Active shell
"term", # Terminal emulator
"cpu", # CPU usage
"ram", # RAM usage
]
# Optional short badge shown just before the YAZELIX version segment in zjstatus.
# Empty by default. Whitespace is trimmed and the rendered text is capped at 8 characters.
custom_text = ""
# Default transient popup command for Zellij floating-pane launches.
# This powers `yzx popup` and the default popup keybinding.
# Use an argv-style list, not a shell string.
# Examples:
# ["lazygit"]
# ["editor"] # Open the current Yazelix editor.command with its managed runtime/env
# ["codex"]
# ["opencode"]
popup_program = ["lazygit"]
# Width and height of the managed popup as percentages of the current tab.
# Valid range: 1 to 100.
popup_width_percent = 90
popup_height_percent = 90
# Zellij persistent session configuration
# When true, Yazelix will use zellij attach with the specified session name
# When false, Yazelix will create a new session each time
persistent_sessions = false
# Session name for persistent sessions (default: "yazelix")
# This name will be used when creating or attaching to persistent sessions
session_name = "yazelix"
# Startup mode for new Zellij sessions (default: "normal")
# Keep "normal" for the standard Yazelix experience.
# Use "locked" only if you explicitly want Zellij to start locked for other TUIs.
# Options: "normal", "locked"
default_mode = "normal"
[yazi]
# Custom Yazi binary override.
# Leave empty to use `yazi` from PATH.
# Set this only when you want Yazelix-managed Yazi launches to use a specific binary.
command = ""
# Custom `ya` CLI override used for sidebar sync and reveal actions.
# Leave empty to use `ya` from PATH.
ya_command = ""
# Plugins to load (core plugins auto-layout and sidebar-status are always loaded)
#
# Bundled plugins (shipped with yazelix, always available):
# - git: Git status integration (shows file changes in listings)
# - starship: Display Starship prompt in Yazi header (shows git branch, venv, etc.)
# - lazygit: Launch lazygit from yazi (invoked via 'gl' keybinding, not loaded in init.lua)
#
# To add external plugins:
# 1. Install with yazi's package manager: ya pkg add owner/repo
# 2. Add plugin name to the list below (without .yazi extension)
#
# Examples:
# ya pkg add XYenon/clipboard.yazi → plugins = ["git", "starship", "clipboard"]
# ya pkg add yazi-rs/plugins:session → plugins = ["git", "starship", "session"]
#
# Browse available plugins: https://yazi-rs.github.io/docs/resources
#
# To disable bundled plugins: plugins = []
plugins = [
"git",
"starship",
]
# Yazi theme (flavor) configuration
# Special options: "random-dark" (picks from 19 dark themes), "random-light" (picks from 5 light themes)
# Available flavors (25 total: 1 default + 19 dark + 5 light):
# Default: "default" (use Yazi's upstream built-in theme)
# Dark themes (19): "catppuccin-mocha", "catppuccin-frappe", "catppuccin-macchiato",
# "dracula", "gruvbox-dark", "tokyo-night", "kanagawa", "kanagawa-dragon",
# "rose-pine", "rose-pine-moon", "flexoki-dark", "bluloco-dark",
# "ayu-dark", "everforest-medium", "ashen", "neon", "nord", "synthwave84", "monokai"
# Light themes (5): "catppuccin-latte", "kanagawa-lotus", "rose-pine-dawn",
# "flexoki-light", "bluloco-light"
# Browse flavors: https://github.com/yazi-rs/flavors
theme = "default"
# Sort files by
# Options: "alphabetical", "natural", "modified", "created", "size"
# This value is the source of truth and overrides any sort_by in configs/yazi/user/yazi.toml
sort_by = "alphabetical"
# Yazelix Classic v14 pack configuration does not belong to the trimmed v15 core config surface.