Skip to content

Editors

Editor config is managed as workstation behavior, not just visual settings.

GUI Editor Strategy

Zed is the preferred first-class GUI editor target for native Windows and CachyOS GUI lanes. VS Code remains the supported compatibility IDE, fallback, and Remote-WSL standard.

Terminal editor defaults are deliberately separate from this GUI editor strategy. Making Zed first-class does not change EDITOR, VISUAL, SUDO_EDITOR, Git core.editor, or the Codex codex_file_opener default. Those stay on the existing per-machine policy until a separate queue item changes them deliberately.

Host Boundaries

Host laneManaged VS Code filesManaged Zed filesManaged Neovim files
Windows%APPDATA%\Code\User\settings.json, keybindings.json, tasks.json, snippets%APPDATA%\Zed\settings.json, keymap.json, tasks.jsonNone
CachyOS~/.config/Code/User/settings.json, keybindings.json, tasks.json, snippets~/.config/zed/settings.json, keymap.json, tasks.jsonNone
WSL~/.vscode-server/data/Machine/settings.jsonNoneNone

VS Code Remote-WSL reuses the Windows client for user keybindings, snippets, and tasks. The WSL source render only owns remote machine settings under ~/.vscode-server.

Zed is the preferred GUI editor target. Native Windows installs it through the official winget package ZedIndustries.Zed when GUI bootstrap is requested. CachyOS installs the Arch/CachyOS zed package through pacman. VS Code remains managed and supported for compatibility, Remote-WSL, and any project that still expects it.

Zed settings follow the shared Catppuccin and Monaspace contract, use a lane-native integrated terminal shell, and provide global tasks for project tests, lazygit, Yazi, and Codex. AI edit predictions and Zed first-party language model configuration are disabled by default. The managed AI surface is Codex through Zed external agents. CLI opens default to a new Zed window so launching a project from a terminal does not replace the active project window.

Zed On Windows And WSL

Windows owns the Zed UI config at %APPDATA%\Zed. Apply it from native PowerShell with chezmoi apply "$HOME\AppData\Roaming\Zed" after changing the source files. The Windows Zed terminal uses PowerShell, and the Codex ACP agents run as Windows processes with native Windows ~\.codex config and auth.

WSL does not render ~/.config/zed; the Windows Zed client owns the UI layer. Use Zed's WSL support from the command palette with projects: open wsl, or from WSL use the managed zed bridge command. When $WSL_DISTRO_NAME is available, the bridge launches Windows zed.exe --wsl <distro> with Linux paths so Zed opens the project in a remote WSL context instead of first opening it as a plain Windows path. The bridge also passes --new so WSL file and project opens do not attach to an unrelated existing Windows project window. If the distro name is unavailable, it falls back to Windows path conversion. The bridge is intentionally rendered only on WSL so native CachyOS zed from pacman is not shadowed.

Keep active WSL repositories, Codex state, and development caches on the Linux filesystem. When a Zed window is attached to a WSL project, project files, language servers, terminals, and tasks belong to that WSL remote context; the Windows %APPDATA%\Zed settings remain the local UI settings. Use terminal Codex inside WSL when you need Linux-native Codex sandboxing and WSL-local ~/.codex state.

Zed Codex Agents

Zed external agents run through Agent Client Protocol. The repo manages a codex-acp-env wrapper that loads ~/.config/agents/.env for the launched process and then runs the mise-owned codex-acp adapter. This keeps API keys out of Zed settings.json while preserving the same Codex env-loading contract as codex-env.

The managed Zed settings expose one external agent per existing Codex profile:

Zed agentCodex profile
Codex Defaulttop-level ~/.codex/config.toml defaults
Codex Ultraprofiles.ultra
Codex Carefulprofiles.careful
Codex Quiet Autoprofiles.quiet-auto
Codex Deep Reviewprofiles.deep-review

Open the Agent Panel with Ctrl+K A. Start profile-specific external-agent threads with Ctrl+Alt+C, Ctrl+Alt+U, Ctrl+Alt+E, Ctrl+Alt+Q, and Ctrl+Alt+D for default, ultra, careful, quiet-auto, and deep-review. Zed's own agent profiles apply only to Zed's first-party agent; these entries select Codex profiles by launching the ACP adapter with Codex config overrides.

Terminal tasks are also available for direct CLI sessions: dotfiles: codex, dotfiles: codex ultra, dotfiles: codex careful, dotfiles: codex quiet-auto, and dotfiles: codex deep-review. Ctrl+K C starts the default terminal task, Ctrl+K U starts the ultra task, and Ctrl+K D starts the deep-review task.

VS Code Support Contract

VS Code remains managed on native Windows and CachyOS, and VS Code Server settings remain managed for WSL Remote-WSL sessions. Extension manifests stay under editors/vscode/, and the WSL bootstrap keeps the Remote-WSL extension path as an optional follow-up after the Windows client has opened the distro once.

The Codex file opener remains vscode for compatibility with Codex file-open events. Zed support is additive and does not remove VS Code settings, keybindings, snippets, tasks, extension bootstrap, or Remote-WSL behavior.

VS Code Shortcuts

ShortcutAction
Ctrl+`Toggle the integrated terminal.
Ctrl+Shift+`Create a new integrated terminal.
Ctrl+K PCopy the active file absolute path.
Ctrl+K RCopy the active file relative path.
Shift+Alt+FFormat the active document.
Ctrl+BToggle the side bar.
Ctrl+K TRun the managed project test task.
Ctrl+K GOpen lazygit in the workspace terminal.
Ctrl+K YOpen Yazi in the workspace terminal.
Ctrl+K COpen Codex through codex-env in the workspace terminal.

The managed user tasks use workspace-relative execution through ${workspaceFolder}. They call tool names from PATH and do not embed host-specific repo paths.

The project test task chooses the narrowest common project command it can find: just test, package-manager test, uv run pytest, cargo test, or go test ./....

VS Code includes small snippets for TODO, FIXME or NOTE markers, Markdown workflow table rows, and Bash strict-mode scripts.

Retired GUI Editors

The repo no longer installs or renders configuration for previously evaluated quick GUI editor targets. Zed owns the fast GUI editor role, and VS Code remains the compatibility IDE.

Micro

Micro is the safe terminal editor fallback. It is installed by the lane bootstrap path: apt on WSL, pacman on CachyOS, and Scoop on native Windows.

Micro is not the global default editor. EDITOR, VISUAL, SUDO_EDITOR, and Git core.editor stay on the existing per-machine chezmoi values unless a host explicitly overrides editor or visual_editor in its chezmoi data. Use micro directly, or set a local machine override, when a terminal editor should win over the GUI defaults.

Neovim

Neovim is installed only for experimentation through the shared mise workstation tool manifest. The repo intentionally does not manage ~/.config/nvim, %LOCALAPPDATA%\nvim, plugin managers, Lua modules, keybindings, LSP setup, or Neovim-specific snippets.

Do not point EDITOR, VISUAL, SUDO_EDITOR, Git core.editor, GitHub CLI, Codex, project launcher, or desktop editor wrappers at nvim unless a later task adds an explicit opt-in mechanism. Use nvim directly when evaluating it.