{ ... }:
{
  programs.helix.settings = {
    theme = "gruvbox_dark_hard";
    editor = {
      line-number = "relative";
      bufferline = "multiple";
      color-modes = true;
      cursorline = true;
      auto-save = {
        after-delay.enable = true;
        after-delay.timeout = 10000;
      };
      auto-format = true;
      end-of-line-diagnostics = "hint";
      # slightly optimized based on my layout
      jump-label-alphabet = "jfkdhaslgwenuiopbcmyzqrtvx";
      clipboard-provider = "wayland";
      inline-diagnostics = {
        cursor-line = "hint";
      };
      lsp = {
        display-messages = true;
        display-inlay-hints = true;
      };
      popup-border = "popup";
      shell = [
        "nu"
        "-c"
      ];
      statusline.left = [
        "mode"
        "spinner"
        "spacer"
        "version-control"
        "file-name"
        "diagnostics"
        "read-only-indicator"
        "file-modification-indicator"
        "spacer"
      ];

      statusline.right = [
        "workspace-diagnostics"
        "register"
        "position"
        "selections"
        "file-encoding"
        "file-type"
      ];
      idle-timeout = 50;
      completion-timeout = 100;
      indent-guides = {
        render = true;
        character = "│";
        skip-levels = 3;
      };
      soft-wrap = {
        enable = true;
      };
      whitespace = {
        render = {
          space = "none";
          tab = "all";
          newline = "none";
        };
        characters = {
          nbsp = "·";
          tab = "→";
        };
      };
    };
  };
}
