diff options
| author | cashmere <cashmere@autistici.org> | 2026-06-03 16:03:18 +0200 |
|---|---|---|
| committer | cashmere <cashmere@autistici.org> | 2026-06-03 16:03:18 +0200 |
| commit | 43e3efdd42e3cb23f3183c27974a7b9fd0f5a278 (patch) | |
| tree | 24c84f2e540936f2de106451f6d4fb00ad8abb0d /early-init.el | |
| parent | d6709fc3e5fc1559059895442e37fe0523666772 (diff) | |
| download | emacs-43e3efdd42e3cb23f3183c27974a7b9fd0f5a278.tar.gz | |
2026-06-03T16:03:23+02:00
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) |
