-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.el
64 lines (52 loc) · 1.72 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
;;; init.el --- my emacs configuration. -*- lexical-binding: t no-byte-compile: t -*-
;;; Commentary:
;;; Code:
;; Produce backtraces when errors occur
(setq debug-on-error t)
;; Don't pass case-insensitive to `auto-mode-alist'
(setq auto-mode-case-fold nil)
;; load path
(defun update-load-path (&rest _)
"Update `load-path'."
(dolist (dir '("site-lisp" "lisp"))
(push (expand-file-name dir user-emacs-directory) load-path)))
(defun add-subdirs-to-load-path (&rest _)
"Add subdirectories to `load-path'."
(let ((default-directory (expand-file-name "site-lisp" user-emacs-directory)))
(normal-top-level-add-subdirs-to-load-path)))
(advice-add #'package-initialize :after #'update-load-path)
(advice-add #'package-initialize :after #'add-subdirs-to-load-path)
(update-load-path)
(require 'init-elpa)
(require 'init-package)
;;----------------------------------------------------------------------------
;; Load configs for specific features and modes
;;----------------------------------------------------------------------------
(require 'init-basic)
(require 'init-clipboard)
(require 'init-theme)
(require 'init-window)
(require 'init-keybind)
(require 'init-edit)
(require 'init-evil)
(require 'init-general)
(require 'init-highlight)
(require 'init-search)
(require 'init-dired)
(require 'init-session)
(require 'init-completion)
(require 'init-yasnippet)
(require 'init-git)
(require 'init-prog)
(require 'init-flymake)
(require 'init-lsp)
(require 'init-go)
(require 'init-misc)
(require 'init-ai)
(require 'init-local nil t)
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
(setq custom-safe-themes t)
(when (file-exists-p custom-file)
(load custom-file))
(setq debug-on-error nil)
(provide 'init)