Use use-package
1;; package
2(require 'package)
3(setq package-archives '(("melpa" . "https://melpa.org/packages/")
4 ("gnu" . "https://elpa.gnu.org/packages/")))
5(package-initialize)
6
7(unless package-archive-contents
8 (package-refresh-contents))
9
10(unless (package-installed-p 'use-package)
11 (package-install 'use-package))
12
13(eval-when-compile
14 (require 'use-package))
15
16;; Optional
17(setq use-package-always-ensure t)