 
 
 (use-package! lsp-ui
-  :hook (lsp-mode . lsp-ui-mode)
+  :defer t
   :config
   (setq lsp-ui-doc-max-height 8
         lsp-ui-doc-max-width 35

      (let ((lsp-keymap-prefix (concat leader-key " c l")))
        (lsp-enable-which-key-integration))))

  (defadvice! +lsp--dont-auto-install-servers-a (orig-fn &rest args)
    "Don't auto-install LSP servers. Only complain if there aren't available."
    :around #'lsp
    ;; `lsp' is normally eager to automatically install LSP servers, or
    ;; prompting to do so, but (in my opinion) server installation should be a
    ;; deliberate act by the end-user:
    (letf! (defun lsp--client-download-server-fn (&rest _))
      (apply orig-fn args)))

  (add-hook! 'lsp-mode-hook
    (defun +lsp-init-optimizations-h ()

(defvar +lsp-company-backends 'company-capf
  "The backends to prepend to `company-backends' in `lsp-mode' buffers.
Can be a list of backends; accepts any value `company-backends' accepts.")

(defvar +lsp-auto-install-servers nil
  "If non-nil, automatically install LSP servers.

`lsp-mode' will prompt you to install an LSP server when you enter a major mode
with LSP support but no available server. I believe changes to your system
should be a deliberate act (as is flipping this variable).")


;;
