{ pkgs, ... }:
 
{
  programs.zed-editor = {
    enable = true;
    extensions = [
      "basedpyright"
      "basher"
      "codebook-spell-checker"
      "context7-mcp-server"
      "dockerfile"
      "just-language-server"
      "justfile"
      "nix"
      "org-mode"
      "ruff"
      "toml"
    ];
    extraPackages = with pkgs; [
      basedpyright
      bash-language-server
      cargo
      codebook
      dockerfile-language-server-nodejs
      just-lsp
      nil
      nixd
      nodejs
      package-version-server
      ruff
      rust-analyzer
      rustc
    ];
    userSettings = {
      vim_mode = true;
      languages = {
        Python = {
          language_servers = [
            "basedpyright"
            "!pyright"
          ];
        };
      };
    };
  };
}

Zed store’s its agent history and installed LSP servers in .local/share/zed

{
  _.persist.allUsers.directories = [ ".local/share/zed" ];
}
nixos