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)
  • sudo privileges
  • curl installed (sudo apt install curl if 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:

  1. Keyrings directory — creates /etc/apt/keyrings with safe permissions to hold the signing key
  2. GPG key — downloads the repository key and stores it in de-armored form for APT to verify packages
  3. Repository entry — registers the repository, using lsb_release -sc to fill in your Debian codename automatically
  4. 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:

  1. Click your avatar and sign in
  2. Open the collaboration panel (ctrl-shift-c)
  3. Share the current project and invite a contact
  4. 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:

  1. Run sudo apt update again to ensure the index is current
  2. Confirm your release is supported (Bookworm, Trixie, or Sid)
  3. 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.