 ;; Evil commentary
 (use-package evil-commentary
   :straight t
-  :diminish :init
+  :defer 1
+  :diminish :config
   (evil-commentary-mode))
 
 ;; Evil surround
 (use-package evil-surround
-  :straight t
-  :init (global-evil-surround-mode 1))
+  :defer 1
+  :straight t
+  :config (global-evil-surround-mode 1))
 
 ;; Evil text objects
-(use-package evil-textobj-line :straight t)
-(use-package evil-textobj-syntax :straight t)
+(use-package evil-textobj-line :straight t
+  :defer 1)
+(use-package evil-textobj-syntax :straight t
+  :defer 1)
 
 ;; Evil number increment
 (use-package evil-numbers
   :straight t
-  :config (progn
-            ;; cannot directly use C-x (in use by emacs)
-            (define-key evil-normal-state-map (kbd "g C-a") 'evil-numbers/inc-at-pt-incremental)
-            (define-key evil-normal-state-map (kbd "g C-x") 'evil-numbers/dec-at-pt-incremental)))
+  :commands (evil-numbers/inc-at-pt-incremental evil-numbers/dec-at-pt-incremental):init
+  (progn
+    ;; cannot directly use C-x (in use by emacs)
+    (define-key evil-normal-state-map (kbd "g C-a") 'evil-numbers/inc-at-pt-incremental)
+    (define-key evil-normal-state-map (kbd "g C-x") 'evil-numbers/dec-at-pt-incremental)))
 
 ;; Save buffer
 (define-key evil-normal-state-map (kbd "<SPC> <SPC>") 'evil-write)


;; ibuffer
(use-package ibuffer
  :init (setq ibuffer-expert t):config
  (progn
    (global-set-key (kbd "M-c")
                    (meain/with-alternate (call-interactively 'switch-to-buffer)
                                          (ibuffer-other-window)))

            (prescient-persist-mode +1)))
(use-package marginalia
  :straight t
  :defer 1
  :after selectrum
  :bind (:map minibuffer-local-map
              ("C-b" . marginalia-cycle)):config
  (marginalia-mode))

;; Consult without consultation fees
(use-package consult :straight t
  :after selectrum
  :defer 1)

;; Helpful package
(use-package helpful
