summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornoa@gaiwan.org2024-06-12 20:24:24 +0000
committernoa@gaiwan.org2024-06-12 20:24:24 +0000
commit7ad8248be0050ec8310dee05222e45edebbf2469 (patch)
tree1fd095e8853a92db3e74dc4e54b2fb82b243d4b5
parentc38758d0146b194fe24a1cdeb9fd34858d4d21e4 (diff)
add emacs early-init file
-rw-r--r--emacs/early-init.el41
1 files changed, 41 insertions, 0 deletions
diff --git a/emacs/early-init.el b/emacs/early-init.el
new file mode 100644
index 0000000..5ba6898
--- /dev/null
+++ b/emacs/early-init.el
@@ -0,0 +1,41 @@
+;;; early-init.el -*- lexical-binding: t; -*-
+
+;; Emacs 27+ introduces early-init.el, which is run before init.el,
+;; before package and UI initialization happens.
+
+;; Defer garbage collection further back in the startup process
+(setq
+ gc-cons-threshold most-positive-fixnum
+ gc-cons-percentage 0.6
+
+ ;; In noninteractive sessions, prioritize non-byte-compiled source files to prevent the use of stale byte-code. Otherwise, it saves us a little IO time to skip the mtime checks on every *.elc file.
+ load-prefer-newer 'noninteractive
+ native-comp-jit-compilation nil
+
+ ;; is this a bad idea?
+ site-run-file nil
+ inhibit-default-init t
+
+ ;; In Emacs 27+, package initialization occurs before `user-init-file' is loaded, but after `early-init-file'.
+ ;; package-enable-at-startup nil
+
+ ;; `use-package' is builtin since 29. It must be set before loading `use-package'.
+ use-package-enable-imenu-support t
+
+ ;; Disable built-in mode-line because we have own config
+ ;; mode-line-format nil
+
+ ;; Gui changes are expensive
+ frame-inhibit-implied-resize t
+ default-frame-alist '(
+ (fullscreen . maximized)
+ (font . "SN Pro-13")
+ (menu-bar-lines . 0)
+ (tool-bar-lines . 0)
+ ;; (vertical-scroll-bars . nil)
+ )
+
+ )
+
+;; Ignore X resources; its settings would be redundant with the other settings in this file and can conflict with later config (particularly where the cursor color is concerned).
+(advice-add #'x-apply-session-resources :override #'ignore)