diff --git a/early-init.el b/early-init.el index bb3a086..1f139b5 100644 --- a/early-init.el +++ b/early-init.el @@ -243,37 +243,10 @@ (when (fboundp 'horizontal-scroll-bar-mode) (horizontal-scroll-bar-mode -1)) -;;; package: Set package archives for package installation -(require 'package) - +;;; package.el ;; Since Emacs 27, package initialization occurs before `user-init-file' is ;; loaded, but after `early-init-file'. -(setq package-enable-at-startup t) - -(setq package-quickstart nil) - -(when (version< emacs-version "28") - (add-to-list 'package-archives - '("nongnu" . "https://elpa.nongnu.org/nongnu/"))) -(add-to-list 'package-archives - '("stable" . "https://stable.melpa.org/packages/")) -(add-to-list 'package-archives - '("melpa" . "https://melpa.org/packages/")) - -(customize-set-variable 'package-archive-priorities - '(("gnu" . 99) - ("nongnu" . 80) - ("stable" . 70) - ("melpa" . 0))) - -;;; use-package: -;; Always ensure packages are installed -(setq use-package-always-ensure t) - -;; Load use-package for package configuration -(when (package-installed-p 'use-package) - (eval-when-compile - (require 'use-package))) +(setq package-enable-at-startup nil) ;;; Load post-early-init.el (minimal-emacs-load-user-init "post-early-init.el") diff --git a/init.el b/init.el index f31ef8c..adf3fdf 100644 --- a/init.el +++ b/init.el @@ -14,15 +14,48 @@ ;;; Code: -;;; Install use-package +;;; package.el + +(defvar minimal-emacs-configure-package t + "Non-nil to configure package.el and use-package.") + +(when minimal-emacs-configure-package + (require 'package) + + (setq package-quickstart nil) + + (when (version< emacs-version "28") + (add-to-list 'package-archives + '("nongnu" . "https://elpa.nongnu.org/nongnu/"))) + (add-to-list 'package-archives + '("stable" . "https://stable.melpa.org/packages/")) + (add-to-list 'package-archives + '("melpa" . "https://melpa.org/packages/")) + + (customize-set-variable 'package-archive-priorities + '(("gnu" . 99) + ("nongnu" . 80) + ("stable" . 70) + ("melpa" . 0)))) + +;;; use-package +;; Always ensure packages are installed +(setq use-package-always-ensure t) + +;; Load use-package for package configuration +(when (package-installed-p 'use-package) + (eval-when-compile + (require 'use-package))) + ;; Ensure the 'use-package' package is installed and loaded (unless (package-installed-p 'use-package) (package-install 'use-package) (eval-when-compile (require 'use-package))) -;;; Load user-pre-init.el and init packages +;;; Load pre-init.el (minimal-emacs-load-user-init "pre-init.el") +;;; Load auto-compile and gcmh (use-package auto-compile :config