Zed
What this config does
Zed uses Vim mode, the Oxocarbon theme, Inter for the UI, 0xProto Nerd Font for buffers, and format-on-save. Home Manager installs language tools so Zed can find them when launched from the desktop.
Nix location
conf/shared.nix:programs.zed-editorconf/shared.nix:editor-tool-pkgs
Configured extensions:
basherdartelixirflutter-snippetsgleamluanixoxocarbon
Portable setup
Install Zed and install the extensions from Zed's extension UI.
Install the language servers and formatters you need. This repo configures:
bash-language-server
clang-tools
dprint
elixir
elixir-ls
eslint_d
flutter
gleam
go
gopls
gotools
lua-language-server
nil
nixd
nixfmt
nodejs
rust-analyzer
rustfmt
shellcheck
shfmt
stylua
typescript
typescript-language-server
On non-Nix systems, GUI apps may not inherit your shell PATH. If Zed cannot find a language server, launch it from a terminal:
zeditor .
Or set PATH for desktop sessions through your distro's environment mechanism.
Settings
The Nix config maps to these Zed settings:
{
"theme": "Oxocarbon Dark (Variant I)",
"vim_mode": true,
"ui_font_family": "Inter",
"ui_font_size": 18.0,
"buffer_font_family": "0xProto Nerd Font Propo",
"buffer_font_size": 18,
"tab_size": 2,
"hard_tabs": false,
"format_on_save": "on",
"telemetry": {
"diagnostics": false,
"metrics": false
}
}
Check it
zeditor --version
which nixd
which typescript-language-server
which rust-analyzer
Open Zed's language server logs if completion or formatting fails.