How to Install Zed on Debian: The High-Performance, Multiplayer Code Editor
Zed is a high-performance, multiplayer code editor written from scratch in Rust by the team behind Atom and the Tree-sitter parsing library. It is engineered around a single obsession: latency. Zed renders on the GPU, keeps its UI responsive under heavy load, and starts almost instantly, which makes it feel dramatically snappier than editors built on web technology.
Beyond raw speed, Zed ships with real-time collaboration baked in. Multiple developers can share a workspace, follow each other’s cursors, and pair on the same buffer without screen sharing. Combine that with first-class language server support, an integrated terminal, and an increasingly capable AI assistant, and Zed becomes a serious daily driver for modern development.
The catch on Debian is that Zed is not packaged in the official repositories, and the upstream installer script pulls a tarball into your home directory outside of APT’s control. The unofficial deb.griffo.io repository solves this by providing a properly packaged, up-to-date .deb you can install and upgrade with apt like any other system package.
What Makes Zed Special?
- ⚡ GPU-accelerated rendering — the entire UI is drawn on the GPU, keeping typing latency low even in large files
- 🦀 Written in Rust — a memory-safe, natively compiled core with no Electron or web runtime overhead
- 🤝 Real-time collaboration — share projects and edit buffers together with live cursors and follow mode
- 🧠 Built-in AI assistant — inline transformations and a chat panel that can use your own model provider keys
- 🌳 Tree-sitter powered — fast, accurate syntax highlighting, structural selections, and code navigation
- 🔌 Language server support — native LSP integration for autocomplete, diagnostics, and go-to-definition
- 🖥️ Integrated terminal — a fast built-in terminal so you rarely need to leave the editor
- 🧩 Extensible — a growing ecosystem of extensions for languages, themes, and tooling
Why Use the deb.griffo.io Repository?
The deb.griffo.io repository offers a cleaner path than the upstream install script:
- Easy installation and updates through the standard APT package manager
- Automatic dependency management so required libraries are pulled in for you
- Always tracks upstream releases shortly after they land
- No compiling from source and no unmanaged files dropped in your home directory
- Works across supported Debian releases including Bookworm, Trixie, and Sid
Prerequisites
Before you begin, make sure you have:
- A Debian-based system (Bookworm 12, Trixie 13, or Sid)
sudoprivilegescurlinstalled (sudo apt install curlif it is missing)- A working graphical session — Zed is a GUI application and needs a display server (Wayland or X11)
Step 1: Add the deb.griffo.io Repository
Add the signing key and the repository to APT with the following commands:
# Create the keyrings directory
sudo install -d -m 0755 /etc/apt/keyrings
# Download and install the repository GPG key
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
# Add the repository (auto-detects your distro codename)
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
# Update the package list
sudo apt update
Here is what each step does:
- Keyrings directory — creates
/etc/apt/keyringswith safe permissions to hold the signing key - GPG key — downloads the repository key and stores it in de-armored form for APT to verify packages
- Repository entry — registers the repository, using
lsb_release -scto fill in your Debian codename automatically - Package list — refreshes APT so the newly available packages become visible
Step 2: Update the Package List
If you skipped the final command above, refresh the package index now:
sudo apt update
Step 3: Install Zed
Install the editor with a single command:
sudo apt install zed
APT downloads Zed and any required libraries, then registers a desktop entry so it appears in your application launcher.
Step 4: Verify the Installation
Confirm the binary is on your PATH and reports a version:
zed --version
You should see output similar to:
Zed 0.196.4
You can launch the editor from a terminal in the current directory:
zed .
Getting Started with Zed
With Zed installed, here are the workflows worth learning first.
Opening Files and Projects
The zed command line tool is the fastest way to open work. It accepts files, directories, and multiple paths at once:
# Open the current directory as a project
zed .
# Open a specific file
zed src/main.rs
# Open several folders in one window
zed ~/work/api ~/work/frontend
# Wait for the editor to close before returning (useful as a $EDITOR)
zed --wait COMMIT_EDITMSG
Because zed --wait blocks until the buffer is closed, you can set it as your Git editor:
git config --global core.editor "zed --wait"
Configuration
Zed is configured entirely through JSON. Open the settings file from the command palette (ctrl-shift-p then “zed: open settings”) or edit it directly at ~/.config/zed/settings.json:
{
"theme": "One Dark",
"buffer_font_family": "JetBrains Mono",
"buffer_font_size": 15,
"tab_size": 2,
"format_on_save": "on",
"vim_mode": false,
"telemetry": {
"metrics": false,
"diagnostics": false
}
}
Keybindings live alongside settings in ~/.config/zed/keymap.json, letting you remap any action to your own chords.
Language Servers and Formatting
Zed detects most languages automatically and downloads the appropriate language server on demand. You can tune behaviour per language:
{
"languages": {
"Python": {
"language_servers": ["pyright"],
"format_on_save": "on"
},
"Rust": {
"tab_size": 4
}
}
}
Use ctrl-shift-p to open the command palette, ctrl-p to fuzzy-find files, and ctrl-shift-f for a project-wide search. Diagnostics from the language server appear inline as you type.
Real-Time Collaboration
Sign in with a GitHub account, then share a project so a collaborator can join your session:
- Click your avatar and sign in
- Open the collaboration panel (
ctrl-shift-c) - Share the current project and invite a contact
- Use follow mode to jump to another participant’s cursor
Everyone edits the same live buffers, and changes appear instantly for all participants.
Using the Built-in Terminal
Toggle the integrated terminal with `ctrl-“ and run commands without leaving the editor:
# Inside Zed's terminal panel
cargo test
The terminal shares your project’s working directory, so build and test loops stay tight.
Keeping Zed Updated
Because Zed is installed as a normal package, updates arrive with your regular system maintenance:
sudo apt update && sudo apt upgrade
This keeps Zed in step with the rest of your Debian packages, so you always run a recent release.
Other Tools from deb.griffo.io
The same repository packages many other developer tools for Debian:
- Neovim — the hyperextensible Vim-based editor for terminal-first workflows
- Helix — a post-modern modal editor with built-in LSP support
- Lazygit — a simple terminal UI for Git that pairs well with any editor
- Ghostty — a fast, feature-rich terminal emulator to run Zed’s tasks in
Troubleshooting
GPG or Key Errors
If APT complains that the repository is not signed or the key cannot be verified, re-download the key:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update
Package Not Found
If apt install zed reports that the package is unavailable:
- Run
sudo apt updateagain to ensure the index is current - Confirm your release is supported (Bookworm, Trixie, or Sid)
- Inspect the source entry:
cat /etc/apt/sources.list.d/deb.griffo.io.list
Zed Will Not Launch on Wayland
Zed is a GPU application, so a missing graphics driver or a headless session will stop it starting. If the window fails to appear, confirm you have a running display server and working GPU drivers. As a quick diagnostic you can force a specific backend:
# Try the X11 backend if Wayland misbehaves
WAYLAND_DISPLAY= zed .
# Launch from a terminal to see any startup errors
zed . 2>&1 | less
Uninstalling
To remove Zed:
sudo apt remove zed
To remove the repository entirely as well:
sudo rm /etc/apt/sources.list.d/deb.griffo.io.list
sudo rm /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update
Conclusion
Zed brings genuine, measurable speed to code editing without sacrificing the modern features developers expect: language servers, an AI assistant, live collaboration, and a native integrated terminal. On Debian, the deb.griffo.io repository turns installation into a single apt install and folds future updates into your normal system upgrades.
If you have been curious about a Rust-native editor that treats latency as a first-class concern, this is the least friction path to trying it. Install it, open a project with zed ., and see how it feels for a week.
Resources
Disclaimer: The deb.griffo.io repository is an unofficial community project and is not affiliated with the official Debian or Ubuntu projects, or with the upstream Zed project.