-
Notifications
You must be signed in to change notification settings - Fork 8
/
early-init.el
63 lines (50 loc) · 2.37 KB
/
early-init.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
;;; early-init.el --- jimeh's Emacs Siren: early init file.
;;; Commentary:
;; The file before the file that starts it all.
;;; Code:
;; Native-Comp
(setq native-comp-speed 2
comp-speed 2)
(setq native-comp-async-report-warnings-errors nil
comp-async-report-warnings-errors nil)
(setq native-comp-async-query-on-exit t
comp-async-query-on-exit t)
;; Prevent native-compiling .dir-locals.el files.
(let ((deny-list '("\\(?:[/\\\\]\\.dir-locals\\.el$\\)")))
(cond
((boundp 'native-comp-jit-compilation-deny-list)
(setq native-comp-jit-compilation-deny-list deny-list))
((boundp 'native-comp-deferred-compilation-deny-list)
(setq native-comp-deferred-compilation-deny-list deny-list))
((boundp 'comp-deferred-compilation-deny-list)
(setq comp-deferred-compilation-deny-list deny-list))))
(when (or (boundp 'comp-eln-load-path) (boundp 'native-comp-eln-load-path))
(let ((eln-cache-dir (expand-file-name "cache/eln-cache/"
user-emacs-directory))
(find-exec (executable-find "find")))
(if (boundp 'native-comp-eln-load-path)
(setcar native-comp-eln-load-path eln-cache-dir)
(setcar comp-eln-load-path eln-cache-dir))
;; Quitting emacs while native compilation in progress can leave zero byte
;; sized *.eln files behind. Hence delete such files during startup.
(when find-exec
(call-process find-exec nil nil nil eln-cache-dir
"-name" "*.eln" "-size" "0" "-delete" "-or"
"-name" "*.eln.tmp" "-size" "0" "-delete"))))
;; Defer garbage collection further back in the startup process
(setq gc-cons-threshold most-positive-fixnum)
;; Disable Emacs 27's automatic package.el initialization before the init.el
;; file is loaded. I use straight.el instead of package.el.
(setq package-enable-at-startup nil)
;; Prevent the glimpse of un-styled Emacs by disabling these UI elements early.
(setq tool-bar-mode nil
menu-bar-mode nil)
(when (fboundp 'set-scroll-bar-mode)
(set-scroll-bar-mode nil))
;; Resizing the Emacs frame can be a terribly expensive part of changing the
;; font. By inhibiting this, we easily halve startup times with fonts that are
;; larger than the system default.
(setq frame-inhibit-implied-resize t)
;; Set lsp-mode to use plists for performance improvements.
(setenv "LSP_USE_PLISTS" "true")
;;; early-init.el ends here