The Emacs package ecosystem is vast — MELPA alone has over 5,000 packages. That’s exciting but also overwhelming. Here are the 10 packages that give you the most value for the least configuration.
1. Vertico
Modern, minimal vertical completion UI. Replaces the default minibuffer completion with something you’d actually want to use.
(use-package vertico
:ensure t
:init (vertico-mode))
2. Consult
Search and navigation commands that integrate with Vertico. consult-ripgrep, consult-line, and consult-buffer will change how you navigate code.
(use-package consult
:ensure t
:bind (("C-s" . consult-line)
("C-x b" . consult-buffer)
("M-g g" . consult-goto-line)))
3. Marginalia
Adds helpful annotations next to completion candidates — file sizes, docstrings, keybindings.
(use-package marginalia
:ensure t
:init (marginalia-mode))
4. Orderless
Flexible completion matching. Type any part of what you’re looking for in any order.
(use-package orderless
:ensure t
:custom (completion-styles '(orderless basic)))
5. Magit
The best Git interface ever made. Not an exaggeration. Once you use Magit, you’ll never want to go back to the command line for Git.
(use-package magit
:ensure t
:bind ("C-x g" . magit-status))
6. Org-mode
Technically built-in, but worth mentioning because it’s often why people come to Emacs in the first place. Notes, tasks, literate programming, and more.
7. Which-key
Shows available keybindings in a popup. Essential for discoverability when you’re learning.
(use-package which-key
:ensure t
:init (which-key-mode))
8. Corfu
In-buffer completion popup. Fast, minimal, works with Eglot’s LSP completions out of the box.
(use-package corfu
:ensure t
:init (global-corfu-mode))
9. Eglot
Built-in LSP client (since Emacs 29). Minimal configuration, just install a language server and go.
;; Eglot is built-in, just hook it up
(add-hook 'python-mode-hook #'eglot-ensure)
(add-hook 'js-mode-hook #'eglot-ensure)
(add-hook 'rust-mode-hook #'eglot-ensure)
10. Doom Themes
Even if you don’t use Doom Emacs, the theme collection is excellent. doom-one and doom-gruvbox are crowd favorites.
(use-package doom-themes
:ensure t
:config
(load-theme 'doom-one t))
Putting It All Together
All of these packages work together harmoniously. Vertico + Consult + Marginalia + Orderless form a completion framework that rivals anything in VS Code, and Magit + Org-mode are the power tools that keep experienced users on Emacs for decades.