From 794cf3ff5bc1f03cfebe7ba16a37a6b5757a2ad9 Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Tue, 16 Jan 2018 13:20:18 -0800 Subject: [PATCH] load use-package even more quickly (hopefully) --- emacs_el/configuration/don-configuration.org | 36 ++++++++++++++++---- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/emacs_el/configuration/don-configuration.org b/emacs_el/configuration/don-configuration.org index 1f38321..5e63115 100644 --- a/emacs_el/configuration/don-configuration.org +++ b/emacs_el/configuration/don-configuration.org @@ -18,8 +18,31 @@ * Package management ** package repositories and package manager -#+BEGIN_SRC emacs-lisp - (require 'package) +Borrowed from https://github.com/nilcons/emacs-use-package-fast/ to +load use-package even faster +#+BEGIN_SRC emacs-lisp + (setq package-enable-at-startup nil) + (setq package--init-file-ensured t) + (eval-and-compile + (setq use-package-verbose (not (bound-and-true-p byte-compile-current-file)))) + (mapc #'(lambda (add) (add-to-list 'load-path add)) + (eval-when-compile + (package-initialize) + (unless (package-installed-p 'use-package) + (package-refresh-contents) + (package-install 'use-package)) + (setq use-package-always-ensure t) + (let ((package-user-dir-real (file-truename package-user-dir))) + ;; The reverse is necessary, because outside we mapc + ;; add-to-list element-by-element, which reverses. + (nreverse (apply #'nconc + ;; Only keep package.el provided loadpaths. + (mapcar #'(lambda (path) + (if (string-prefix-p package-user-dir-real path) + (list path) + nil)) + load-path)))))) + (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") ("melpa" . "https://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/") )) @@ -27,10 +50,11 @@ ** [[https://github.com/jwiegley/use-package/][use-package]] #+BEGIN_SRC emacs-lisp (package-initialize) - (condition-case nil - (require 'use-package) - (progn (package-install 'use-package) - (require 'use-package))) + (eval-when-compile + (unless (package-installed-p 'use-package) + (package-refresh-contents) + (package-install 'use-package)) + (require 'use-package)) #+END_SRC ** Paradox #+BEGIN_SRC emacs-lisp -- 2.39.2