blob: f9b5ee0d116a0b6a43c3e76af079e87a0b3e1b46 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
;; add melpa repo
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/") t)
(when (< emacs-major-version 27)
(package-initialize))
;; workaround for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34341
(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")
(defun require-package (package &optional min-version no-refresh)
"Install given PACKAGE, optionally requiring MIN-VERSION.
If NO-REFRESH is non-nil, the available package lists will not be
re-downloaded in order to locate PACKAGE."
(if (package-installed-p package min-version)
t
(if (or (assoc package package-archive-contents) no-refresh)
(package-install package)
(progn
(package-refresh-contents)
(require-package package min-version t)))))
(defun require-packages (packages)
"Install a list of PACKAGES."
(mapcar (lambda (package) (require-package package)) packages))
;; install missing packages automatically
(setq use-package-always-ensure t)
;; install use-package and diminish
(require-packages '(use-package diminish))
;; speed up loading of use-package and dependencies
(eval-when-compile
(require 'use-package))
(require 'diminish)
(require 'bind-key)
(provide 'init-package)
|