2018-03-21 15:21:18 -04:00
|
|
|
;;; early-init.el -*- lexical-binding: t; -*-
|
|
|
|
|
2018-03-28 00:41:57 -04:00
|
|
|
;; Emacs HEAD (27+) introduces early-init.el, which is run before init.el,
|
2018-08-31 23:40:54 +02:00
|
|
|
;; before package and UI initialization happens.
|
2018-03-28 00:41:57 -04:00
|
|
|
|
2018-09-19 18:14:01 -04:00
|
|
|
;; Defer garbage collection further back in the startup process
|
2019-07-21 03:01:15 +02:00
|
|
|
(setq gc-cons-threshold most-positive-fixnum)
|
2018-09-19 00:25:17 +01:00
|
|
|
|
2019-07-21 03:01:15 +02:00
|
|
|
;; In Emacs 27+, package initialization occurs before `user-init-file' is
|
|
|
|
;; loaded, but after `early-init-file'. Doom handles package initialization, so
|
|
|
|
;; we must prevent Emacs from doing it early!
|
2018-08-31 23:40:54 +02:00
|
|
|
(setq package-enable-at-startup nil)
|
2020-10-20 16:52:39 -04:00
|
|
|
(fset #'package--ensure-init-file #'ignore)
|
2018-06-16 11:38:19 +02:00
|
|
|
|
2019-07-23 00:30:45 +02:00
|
|
|
;; Prevent the glimpse of un-styled Emacs by disabling these UI elements early.
|
2020-02-21 12:36:29 -05:00
|
|
|
(push '(menu-bar-lines . 0) default-frame-alist)
|
|
|
|
(push '(tool-bar-lines . 0) default-frame-alist)
|
|
|
|
(push '(vertical-scroll-bars) default-frame-alist)
|
2019-03-02 03:54:04 -05:00
|
|
|
|
2019-07-21 03:01:15 +02:00
|
|
|
;; Resizing the Emacs frame can be a terribly expensive part of changing the
|
|
|
|
;; font. By inhibiting this, we easily halve startup times with fonts that are
|
|
|
|
;; larger than the system default.
|
|
|
|
(setq frame-inhibit-implied-resize t)
|
2019-09-06 15:40:38 -04:00
|
|
|
|
2020-10-06 14:38:32 -04:00
|
|
|
;; Prevent unwanted runtime builds in gccemacs (native-comp); packages are
|
|
|
|
;; compiled ahead-of-time when they are installed and site files are compiled
|
|
|
|
;; when gccemacs is installed.
|
|
|
|
(setq comp-deferred-compilation nil)
|