-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.el
73 lines (64 loc) · 2.11 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
;;; 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.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 gc-cons-threshold 33554432 ; 32mb
gc-cons-percentage 0.1)))
(provide 'init.el)
;;; init.el ends here