;; early-init.el -*- lexical-binding: t; -*- ;;;; No GUI ;; I do not use those graphical elements by default, but I do enable ;; them from time-to-time for testing purposes or to demonstrate ;; something. NEVER tell a beginner to disable any of these. They ;; are helpful. (menu-bar-mode -1) (scroll-bar-mode -1) (tool-bar-mode -1) ;; A big contributor to startup times is garbage collection. ;; We up the gc threshold to temporarily prevent it from running, then ;; reset it later after startup is complete. Not resetting it will ;; cause stuttering/freezes. (setq gc-cons-threshold most-positive-fixnum) (setq gc-cons-percentage 0.5) ;; Same idea as above for the `file-name-handler-alist' and the ;; `vc-handled-backends' with regard to startup speed optimisation. ;; Here I am storing the default value with the intent of restoring it ;; via the `emacs-startup-hook'. (defvar prot-emacs--file-name-handler-alist file-name-handler-alist) (defvar prot-emacs--vc-handled-backends vc-handled-backends) (setq file-name-handler-alist nil vc-handled-backends nil) (add-hook 'emacs-startup-hook (lambda () (setq gc-cons-threshold (* 1000 1000 8)) (setq gc-cons-percentage 0.1) (setq file-name-handler-alist prot-emacs--file-name-handler-alist) (setq vc-handled-backends prot-emacs--vc-handled-backends))) ;; When both .el and .elc / .eln files are available, ;; load the latest one. (setq load-prefer-newer t) ;; Make sure that we do not enable `package.el', so that we can use ;; `elpaca' instead. (setq package-enable-at-startup nil) ;; Local Variables: ;; no-byte-compile: t ;; no-native-compile: t ;; no-update-autoloads: t ;; End: