aboutsummaryrefslogtreecommitdiff
path: root/home-manager/homeModules/emacs/early-init.el
diff options
context:
space:
mode:
authorspl3g <notspl3g@duck.com>2026-03-18 18:01:41 +0300
committerspl3g <notspl3g@duck.com>2026-03-18 18:01:59 +0300
commit03648b3d9f177227df40129bed22558f6924b91c (patch)
tree8a22eda142beeafd9002a8d5901ba9428a77ad52 /home-manager/homeModules/emacs/early-init.el
parentdc19a2b583b3ab50d8e36ff0a90ca633495f675f (diff)
so.. v2 i guess
Diffstat (limited to 'home-manager/homeModules/emacs/early-init.el')
-rw-r--r--home-manager/homeModules/emacs/early-init.el171
1 files changed, 0 insertions, 171 deletions
diff --git a/home-manager/homeModules/emacs/early-init.el b/home-manager/homeModules/emacs/early-init.el
deleted file mode 100644
index c6334f5..0000000
--- a/home-manager/homeModules/emacs/early-init.el
+++ /dev/null
@@ -1,171 +0,0 @@
-;;;; Optimisations from https://github.com/jamescherti/minimal-emacs.d
-
-;;; Garbage collection
-(setq gc-cons-threshold most-positive-fixnum)
-
-(add-hook 'emacs-startup-hook
- (lambda ()
- (setq gc-cons-threshold (* 16 1024 1024))))
-
-;;; Performance
-
-;; Prefer loading newer compiled files
-(setq load-prefer-newer t)
-
-;; Increase how much is read from processes in a single chunk (default is 4kb).
-(setq read-process-output-max (* 1024 1024)) ; 512kb
-
-;; Disable warnings from the legacy advice API. They aren't useful.
-(setq ad-redefinition-action 'accept)
-
-(setq warning-suppress-types '((lexical-binding)))
-
-;; Don't ping things that look like domain names.
-(setq ffap-machine-p-known 'reject)
-
-;; By default, Emacs "updates" its ui more often than it needs to
-(setq idle-update-delay 1.0)
-
-;; Font compacting can be very resource-intensive, especially when rendering
-;; icon fonts on Windows. This will increase memory usage.
-(setq inhibit-compacting-font-caches t)
-
-(unless (daemonp)
- (unless noninteractive
- (progn
- ;; Disable mode-line-format during init
- (defun minimal-emacs--reset-inhibited-vars-h ()
- (setq-default inhibit-redisplay nil
- ;; Inhibiting `message' only prevents redraws and
- inhibit-message nil)
- (redraw-frame))
-
- (defvar minimal-emacs--default-mode-line-format mode-line-format
- "Default value of `mode-line-format'.")
- (setq-default mode-line-format nil)
-
- (defun minimal-emacs--startup-load-user-init-file (fn &rest args)
- "Advice for startup--load-user-init-file to reset mode-line-format."
- (let (init)
- (unwind-protect
- (progn
- (apply fn args) ; Start up as normal
- (setq init t))
- (unless init
- ;; If we don't undo inhibit-{message, redisplay} and there's an
- ;; error, we'll see nothing but a blank Emacs frame.
- (minimal-emacs--reset-inhibited-vars-h))
- (unless (default-toplevel-value 'mode-line-format)
- (setq-default mode-line-format
- minimal-emacs--default-mode-line-format)))))
-
- (advice-add 'startup--load-user-init-file :around
- #'minimal-emacs--startup-load-user-init-file))
-
- ;; Without this, Emacs will try to resize itself to a specific column size
- (setq frame-inhibit-implied-resize t)
-
- ;; A second, case-insensitive pass over `auto-mode-alist' is time wasted.
- ;; No second pass of case-insensitive search over auto-mode-alist.
- (setq auto-mode-case-fold nil)
-
- ;; Reduce *Message* noise at startup. An empty scratch buffer (or the
- ;; dashboard) is more than enough, and faster to display.
- (setq inhibit-startup-screen t
- inhibit-startup-echo-area-message user-login-name)
- (setq initial-buffer-choice nil
- inhibit-startup-buffer-menu t
- inhibit-x-resources t)
-
- ;; Disable bidirectional text scanning for a modest performance boost.
- (setq-default bidi-display-reordering 'left-to-right
- bidi-paragraph-direction 'left-to-right)
-
- ;; Give up some bidirectional functionality for slightly faster re-display.
- (setq bidi-inhibit-bpa t)
-
- ;; Remove "For information about GNU Emacs..." message at startup
- (advice-add #'display-startup-echo-area-message :override #'ignore)
-
- ;; Suppress the vanilla startup screen completely. We've disabled it with
- ;; `inhibit-startup-screen', but it would still initialize anyway.
- (advice-add #'display-startup-screen :override #'ignore)
-
- ;; Shave seconds off startup time by starting the scratch buffer in
- ;; `fundamental-mode'
- (setq initial-major-mode 'fundamental-mode
- initial-scratch-message nil)))
-
-;;; Native compilation and Byte compilation
-
-(if (and (featurep 'native-compile)
- (fboundp 'native-comp-available-p)
- (native-comp-available-p))
- ;; Activate `native-compile'
- (setq native-comp-jit-compilation t
- package-native-compile t)
- ;; Deactivate the `native-compile' feature if it is not available
- (setq features (delq 'native-compile features)))
-
-;; Suppress compiler warnings and don't inundate users with their popups.
-(setq native-comp-async-report-warnings-errors 'silent)
-
-;;; UI elements
-
-;; Disable startup screens and messages
-(setq inhibit-splash-screen t)
-
-
-(push '(menu-bar-lines . 0) default-frame-alist)
-(unless (memq window-system '(mac ns))
- (setq menu-bar-mode nil))
-
-(unless (daemonp)
- (unless noninteractive
- (when (fboundp 'tool-bar-setup)
- ;; Temporarily override the tool-bar-setup function to prevent it from
- ;; running during the initial stages of startup
- (advice-add #'tool-bar-setup :override #'ignore)
- (define-advice startup--load-user-init-file
- (:before (&rest _) minimal-emacs-setup-toolbar)
- (advice-remove #'tool-bar-setup #'ignore)
- (tool-bar-setup)))))
-
-(push '(tool-bar-lines . 0) default-frame-alist)
-(setq tool-bar-mode nil)
-
-(push '(vertical-scroll-bars) default-frame-alist)
-(push '(horizontal-scroll-bars) default-frame-alist)
-(setq scroll-bar-mode nil)
-(when (fboundp 'horizontal-scroll-bar-mode)
- (horizontal-scroll-bar-mode -1))
-
-(when (bound-and-true-p tooltip-mode)
- (tooltip-mode -1))
-
-;; Disable GUIs because they are inconsistent across systems, desktop
-;; environments, and themes, and they don't match the look of Emacs.
-(setq use-file-dialog nil)
-(setq use-dialog-box nil)
-
-;; Allow for shorter responses: "y" for yes and "n" for no.
-(if (boundp 'use-short-answers)
- (setq use-short-answers t)
- (advice-add #'yes-or-no-p :override #'y-or-n-p))
-(defalias #'view-hello-file #'ignore) ; Never show the hello file
-
-;;; And that's mine
-
-(setq package-enable-at-startup nil)
-(setq-default pgtk-wait-for-event-timeout 0)
-
-(let ((mono-spaced-font "FiraCode Nerd Font")
- (proportionately-spaced-font "Inconsonata"))
- (set-face-attribute 'default nil :family mono-spaced-font :height 110 :weight 'medium)
- (set-face-attribute 'fixed-pitch nil :family mono-spaced-font :height 1.0)
- (set-face-attribute 'variable-pitch nil :family proportionately-spaced-font :height 1.0)
- (set-face-attribute 'italic nil :underline nil))
-
-
-(provide 'early-init)
-;;; early-init.el ends here