summaryrefslogtreecommitdiff
path: root/emacs/.config/emacs/early-init.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/.config/emacs/early-init.el')
-rw-r--r--emacs/.config/emacs/early-init.el32
1 files changed, 32 insertions, 0 deletions
diff --git a/emacs/.config/emacs/early-init.el b/emacs/.config/emacs/early-init.el
new file mode 100644
index 0000000..8184bbb
--- /dev/null
+++ b/emacs/.config/emacs/early-init.el
@@ -0,0 +1,32 @@
+;;; -*- lexical-binding: t; -*-
+
+(setq package-enable-at-startup nil)
+
+;; Optimization: file name handlers not needed during startup.
+(defvar kj/file-name-handler-alist--old file-name-handler-alist)
+(setq file-name-handler-alist nil)
+(defun kj/restore-file-name-handler-alist ()
+ (if (not (boundp 'kj/file-name-handler-alist--old))
+ (message "File name handler already restored")
+ (setq file-name-handler-alist kj/file-name-handler-alist--old)
+ (makunbound 'kj/file-name-handler-alist--old)))
+
+;; Optimization: avoid garbage collection during startup.
+;; Reset by gcmh later.
+(setq gc-cons-threshold most-positive-fixnum)
+
+;; Move native compilation cache out of the way. Should be set in
+;; early-init so that package loding uses the updated value.
+(startup-redirect-eln-cache "~/.cache/emacs/eln-cache")
+
+;; Early options that affect startup.
+(setq
+ package-native-compile t
+ inhibit-startup-message t
+ native-comp-async-report-warnings-errors 'silent
+ default-frame-alist
+ '((tool-bar-lines . 0)
+ (menu-bar-lines . 0)
+ (undecorated . t)
+ (vertical-scroll-bars . nil)
+ (horizontal-scroll-bars . nil)))