blob: 8ba4bcbb08b9bfc76fd24dea15d6025806156152 (
plain)
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
77
78
79
80
81
82
83
84
85
86
|
;;; init.el --- Main Emacs configuration -*- lexical-binding: t; -*-
;; Copyright (C) 2026 Richard Qin
;; SPDX-License-Identifier: GPL-3.0-or-later
;; Author: Richard Qin
;; This file is not part of GNU Emacs.
;;; Commentary:
;; Main entry point for the Emacs configuration.
;; Configure load paths and initialize configuration modules.
;;; Code:
;; ------------------------------------------------------------
;; Load paths
;; ------------------------------------------------------------
(defvar my/config-directories
'("core"
"ui"
"completion"
"editing"
"development"
"languages"
"writing"
"tools")
"Directories containing Emacs configuration modules.")
(dolist (dir my/config-directories)
(add-to-list
'load-path
(expand-file-name
(concat "lisp/" dir)
user-emacs-directory)))
;; Custom Emacs Lisp extensions.
(add-to-list
'load-path
(expand-file-name "site-lisp" user-emacs-directory))
;; ------------------------------------------------------------
;; Customize
;; ------------------------------------------------------------
(setq custom-file
(expand-file-name
"var/custom.el"
user-emacs-directory))
(make-directory
(file-name-directory custom-file)
t)
;; ------------------------------------------------------------
;; Core modules
;; ------------------------------------------------------------
(require 'init-packages)
(require 'init-defaults)
(require 'init-files)
(require 'init-session)
(require 'init-keybindings)
;; ------------------------------------------------------------
;; UI modules
;; ------------------------------------------------------------
(require 'init-fonts)
(require 'init-theme)
(require 'init-modeline)
(require 'init-windows)
;; ------------------------------------------------------------
;; Custom settings
;; ------------------------------------------------------------
(when (file-exists-p custom-file)
(load custom-file nil 'nomessage))
;;; init.el ends here
|