-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit.el
76 lines (67 loc) · 2.25 KB
/
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
64
65
66
67
68
69
70
71
72
73
74
75
76
;;; init.el --- Main entry for Emacs configuration -*- lexical-binding: t; -*-
;;; Commentary:
;;; Load configuration files from .emacs.d/config/
;; A big contributor to startup times is garbage collection. We up the gc
;; threshold to temporarily prevent it from running, then reset it later by
;; enabling `gcmh-mode'. Not resetting it will cause stuttering/freezes.
;;; Code:
(setq gc-cons-threshold most-positive-fixnum)
;; Load custom functions
(add-to-list 'load-path "~/.emacs.d/core")
(require 'core.functions)
(require 'core.utils)
(require 'core.configuration)
(require 'core.straight)
(add-to-list 'load-path "~/.emacs.d/features")
(require 'feat.editor)
(require 'feat.evil)
(require 'feat.functions)
(require 'feat.themeing)
(require 'feat.modeline)
(require 'feat.syntaxchecking)
(require 'feat.completion)
(require 'feat.snippets)
(require 'feat.git)
(require 'feat.hydra)
;; (require 'feat.org)
(require 'feat.itautomation)
;;(require 'feat.livepreview)
;;(require 'feat.treesitter)
(require 'feat.debug)
(require 'feat.formatting)
;;(require 'feat.assistant)
;; (require 'feat.email)
(add-to-list 'load-path "~/.emacs.d/languages")
;;(require 'lang.clojure) ;
;;(require 'lang.graphql)
;; (require 'lang.go)
;;(require 'lang.haskell)
(require 'lang.python)
;; (require 'lang.rust)
(require 'lang.cc)
;; (require 'lang.csharp)
(require 'lang.javascript)
(require 'lang.typescript)
;; (require 'lang.lua)
(require 'lang.markup)
(require 'lang.shader)
(require 'lang.stylesheets)
(require 'lang.graphviz)
(require 'lang.zig)
(require 'lang.nix)
;; (require 'lang.processing)
(require 'lang.powershell)
(add-to-list 'load-path "~/.emacs.d/external")
(require 'protobuf-mode)
;; Reset garbage collection. Not doing so will cause garbage
;; collection freezes during long-term interactive use. Conversely, a
;; gc-cons-threshold that is too small will cause stuttering. We use 16mb as our
;; default.
(add-hook 'emacs-startup-hook
(lambda ()
(dashboard-open)
(setq read-process-output-max (* 4 1024 1024)) ; 4 mb
(setq gc-cons-threshold (* 100 1024 1024) ; 100 mb
gc-cons-percentage 0.1)))
(provide 'init.el)
;;; init.el ends here