mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
If native compilation is interrupted by quitting Emacs, or if it otherwise fails, it can leave empty *.eln files behind which have a zero byte file size. Any such files will prevent Emacs from launching if not removed. This automates the removal of those files.
42 lines
1.4 KiB
EmacsLisp
42 lines
1.4 KiB
EmacsLisp
;;; early-init.el --- jimeh's Emacs Siren: early init file.
|
|
|
|
;;; Commentary:
|
|
|
|
;; The file before the file that starts it all.
|
|
|
|
;;; Code:
|
|
|
|
;; Native-Comp
|
|
(setq comp-speed 2
|
|
comp-deferred-compilation t)
|
|
|
|
(when (boundp 'comp-eln-load-path)
|
|
(let ((eln-cache-dir (expand-file-name "cache/eln-cache/" user-emacs-directory))
|
|
(find-exec (executable-find "find")))
|
|
(add-to-list '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"))))
|
|
|
|
;; 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)
|
|
|
|
;;; early-init.el ends here
|