Refactor package initialization and refresh logic
This commit is contained in:
21
init.el
21
init.el
@@ -18,24 +18,19 @@
|
|||||||
(minimal-emacs-load-user-init "pre-init.el")
|
(minimal-emacs-load-user-init "pre-init.el")
|
||||||
|
|
||||||
;;; package.el
|
;;; package.el
|
||||||
|
|
||||||
(when (bound-and-true-p minimal-emacs-package-initialize-and-refresh)
|
(when (bound-and-true-p minimal-emacs-package-initialize-and-refresh)
|
||||||
(let ((package-refresh t))
|
;; Initialize and refresh package contents again if needed
|
||||||
;; Refresh package contents and install `use-package` if necessary
|
(package-initialize)
|
||||||
|
(unless package-archive-contents
|
||||||
|
(package-refresh-contents))
|
||||||
|
|
||||||
|
;; Install use-package if necessary
|
||||||
(unless (package-installed-p 'use-package)
|
(unless (package-installed-p 'use-package)
|
||||||
(package-refresh-contents t)
|
|
||||||
(setq package-refresh nil)
|
|
||||||
(package-install 'use-package))
|
(package-install 'use-package))
|
||||||
|
|
||||||
;; Ensure `use-package` is available at compile time
|
;; Ensure use-package is available at compile time
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
(require 'use-package))
|
(require 'use-package)))
|
||||||
|
|
||||||
;; Initialize the package system
|
|
||||||
(package-initialize)
|
|
||||||
(when (and package-refresh (not package-archive-contents))
|
|
||||||
;; Refresh package contents again if needed
|
|
||||||
(package-refresh-contents t))))
|
|
||||||
|
|
||||||
;; Ensure the 'use-package' package is installed and loaded
|
;; Ensure the 'use-package' package is installed and loaded
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user