summaryrefslogtreecommitdiff
path: root/early-init.el
diff options
context:
space:
mode:
authorcashmere <cashmere@autistici.org>2026-06-03 16:03:18 +0200
committercashmere <cashmere@autistici.org>2026-06-03 16:03:18 +0200
commit43e3efdd42e3cb23f3183c27974a7b9fd0f5a278 (patch)
tree24c84f2e540936f2de106451f6d4fb00ad8abb0d /early-init.el
parentd6709fc3e5fc1559059895442e37fe0523666772 (diff)
downloademacs-43e3efdd42e3cb23f3183c27974a7b9fd0f5a278.tar.gz
2026-06-03T16:03:23+02:00
Diffstat (limited to 'early-init.el')
-rw-r--r--early-init.el33
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)