Refactor package initialization and refresh logic

This commit is contained in:
James Cherti
2024-08-24 12:36:55 -04:00
parent d620347c70
commit 9fdfca3265
2 changed files with 11 additions and 16 deletions

21
init.el
View File

@@ -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