Appearance
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 lane | Managed VS Code files | Managed Zed files | Managed Neovim files |
|---|---|---|---|
| Windows | %APPDATA%\Code\User\settings.json, keybindings.json, tasks.json, snippets | %APPDATA%\Zed\settings.json, keymap.json, tasks.json | None |
| CachyOS | ~/.config/Code/User/settings.json, keybindings.json, tasks.json, snippets | ~/.config/zed/settings.json, keymap.json, tasks.json | None |
| WSL | ~/.vscode-server/data/Machine/settings.json | None | None |
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 agent | Codex profile |
|---|---|
Codex Default | top-level ~/.codex/config.toml defaults |
Codex Ultra | profiles.ultra |
Codex Careful | profiles.careful |
Codex Quiet Auto | profiles.quiet-auto |
Codex Deep Review | profiles.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
| Shortcut | Action |
|---|---|
Ctrl+` | Toggle the integrated terminal. |
Ctrl+Shift+` | Create a new integrated terminal. |
Ctrl+K P | Copy the active file absolute path. |
Ctrl+K R | Copy the active file relative path. |
Shift+Alt+F | Format the active document. |
Ctrl+B | Toggle the side bar. |
Ctrl+K T | Run the managed project test task. |
Ctrl+K G | Open lazygit in the workspace terminal. |
Ctrl+K Y | Open Yazi in the workspace terminal. |
Ctrl+K C | Open 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.