diff options
Diffstat (limited to 'early-init.el')
| -rw-r--r-- | early-init.el | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/early-init.el b/early-init.el index fa9fff1..fbf9ace 100644 --- a/early-init.el +++ b/early-init.el @@ -1,10 +1,43 @@ ;; -*- lexical-binding: t; -*- + +;; ---- Startup perf knobs ---- +;; Suppress GC and file-name-handlers during init; restored in after-init. +(defvar my/file-name-handler-alist file-name-handler-alist) +(setq file-name-handler-alist nil) +(setq gc-cons-threshold most-positive-fixnum + gc-cons-percentage 0.6) + +;; Skip site-start.el on NixOS — it loads /etc/emacs and slows boot. +(setq site-run-file nil) + +;; Don't let Emacs parse customizations affecting frame on first GUI frame. +(setq frame-inhibit-implied-resize t) + +;; Suppress redisplay during heavy init. +(setq inhibit-compacting-font-caches t + idle-update-delay 1.0 + redisplay-skip-fontification-on-input t) + +;; Restore after init. +(add-hook 'emacs-startup-hook + (lambda () + (setq file-name-handler-alist my/file-name-handler-alist + gc-cons-threshold (* 64 1024 1024) + gc-cons-percentage 0.1))) + +;; ---- Package manager hands-off until init.el ---- (setq package-enable-at-startup nil) + +;; ---- UI chrome off pre-frame ---- (push '(left-fringe . 0) default-frame-alist) (push '(right-fringe . 0) default-frame-alist) +(push '(menu-bar-lines . 0) default-frame-alist) +(push '(tool-bar-lines . 0) default-frame-alist) +(push '(vertical-scroll-bars) default-frame-alist) (menu-bar-mode -1) (tool-bar-mode -1) (scroll-bar-mode -1) (fringe-mode 0) (setq-default overflow-newline-into-fringe nil) + (provide 'early-init) |
