You should have everything managed by use-package for coherence, even when you don't defer. For example,
(use-package org-evil
:ensure t ;; download if not present
:defer t ;; defer loading
hook (org-mode . org-evil-mode)) ;; start this mode in org buffers
(use-package csv
:ensure t
:defer t) ;; modes are usually smart enough to know in which buffer they start
and so on for all your packages. If you NEED something to start when Emacs open, you can remove the `:defer t` macro. There are also other useful things like `:init` `:config` `custom`, you should check out the docs!
(use-package org-evil :ensure t ;; download if not present :defer t ;; defer loading hook (org-mode . org-evil-mode)) ;; start this mode in org buffers
(use-package csv :ensure t :defer t) ;; modes are usually smart enough to know in which buffer they start
and so on for all your packages. If you NEED something to start when Emacs open, you can remove the `:defer t` macro. There are also other useful things like `:init` `:config` `custom`, you should check out the docs!