{ config, pkgs, lib, ... }:
{
  programs.zed-editor = {
    enable = true;
    extensions = [
      "awk"
      "assembly"
      "bison"
      "dockerfile"
      "docker-compose"
      "gruvbox-material-neovim"
      "haskell"
      "html-snippets"
      "htmx-lsp"
      "ini"
      "javascript-snippets"
      "jq"
      "julia"
      "lua"
      "make"
      "markdownlint"
      "nix"
      "rust-snippets"
      "toml"
    ];
    extraPackages = with pkgs; [
      clang-tools
      rustfmt
      nil
    ];
    userSettings = {
      features = {
        copilot = false;
      };
      telemetry = {
        metrics = false;
      };
      autosave = {
        after_delay = { milliseconds = 30000; };
      };
      disable_ai = true;
      auto_update = false;
      vim_mode = true;
      tab_size = 4;
      preferred_line_length = 80;
      minimap = {
        show = "always";
        thumb = "always";
        current_line_highlight = "line";
      };
      buffer_font_size = 16;
      buffer_font_family = "0xProto Nerd Font Mono";
      ui_font_size = 14;
      cursor_shape = "block";
      format_on_save = "off";
      terminal = {
        blinking = "on";
        font_family = "Moralerspace Argon";
        font_size = 14;
        scroll_multiplier = 5.0;
      };
    };
  };
}
