~cytrogen/.emacs.d

.emacs.d/init.el -rw-r--r-- 2.7 KiB
e2b51cc0 — Cytrogen chore: 更新 gitignore 和数据文件 a month ago
                                                                                
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
;;; init.el --- Cytrogen's Modular Emacs Configuration -*- lexical-binding: t -*-

;; Copyright (C) 2026 Cytrogen

;; This is the main entry point for a modular Emacs configuration.
;; All specific configurations are organized in separate modules under config/

;;; Commentary:

;; This configuration uses a modular approach where different functionalities
;; are separated into focused modules:
;; - core-settings.el: Basic system and package configuration
;; - ui-theme-fonts.el: Visual appearance and fonts
;; - pkg-org.el: Org-mode and productivity tools
;; - pkg-writing.el: Writing and blogging tools
;; - pkg-blog.el: Blog workflow for monthly posts
;; - pkg-dev.el: Development tools
;; - pkg-email.el: Email client (mu4e)
;; - pkg-reading.el: RSS reader (elfeed), OPDS browser, ebook tools
;; - pkg-social.el: Social media and security
;; - utils.el: Utility functions and dashboard
;; - keybindings.el: Global key mappings

;;; Code:

;; Add the config directory to load-path
(add-to-list 'load-path (expand-file-name "config" user-emacs-directory))

;; Load core modules first
(require 'core-settings)
(require 'ui-theme-fonts)

;; Load feature modules
(require 'pkg-org)
(require 'pkg-writing)
(require 'pkg-blog)      ; Blog workflow for monthly posts
(when (file-exists-p (expand-file-name "immich-config.el" user-emacs-directory))
  (load (expand-file-name "immich-config.el" user-emacs-directory)))
(require 'pkg-calendar)  ; Google Calendar/Tasks integration
(require 'pkg-dev)
(require 'pkg-git)       ; Git integration (magit, diff-hl, git-timemachine)
(require 'pkg-email)     ; Email (mu4e) configuration
(require 'pkg-reading)   ; RSS reader, OPDS browser, ebook tools
(require 'pkg-dictionary) ; Offline dictionary (sdcv + StarDict)
(require 'utils)
(require 'keybindings)
(require 'pkg-social)    ; GPG/Mastodon configuration

(message "Cytrogen's Emacs configuration loaded successfully!")

;;; init.el ends here
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(epa-armor t t)
 '(epa-file-cache-passphrase-for-symmetric-encryption t)
 '(epa-file-encrypt-to nil t)
 '(epa-file-select-keys 'silent)
 '(epg-debug t)
 '(epg-gpg-home-directory "/home/cytrogen/.gnupg")
 '(epg-gpg-program "/usr/bin/gpg")
 '(epg-pinentry-mode 'loopback)
 '(epg-user-id nil t)
 '(package-selected-packages nil))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )