aboutsummaryrefslogtreecommitdiff
path: root/config/emacs/emacs.d/init.el
blob: a1d821815c76d6181a414896edd3ee5a99ea52bd (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
;;; init --- Emacs initialization file
;;; -*- lexical-binding: t -*-
;;; Commentary:
;;; This file is bootstraps Emacs configuration which is
;;; divided into a number of separate files
;;; based on: https://github.com/purcell/emacs.d/blob/master/init.el
;;; Takes inspiration from https://github.com/jaypei/emacs.d
;;; and many others.
;;; Code:

(let ((minver "26.2"))
  (when (version< emacs-version minver)
    (error "Emacs is too old, this config requires v%s or higher" minver)))

(setq byte-complile-warnings '(not cl-functions))
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
(add-to-list 'load-path (expand-file-name "lisp" user-emacs-directory))

(defconst *spell-check-support-enabled* t)

(setq read-process-output-max (* 4096 1024))

;; customize interface configuration
(when (file-exists-p custom-file)
  (load custom-file))

;; Begin Bootstrapping
(require 'init-server)
(require 'init-dbus)
(require 'init-defaults)
(require 'init-elpa)
(require 'init-use-package)
(require 'init-exec-path)
(require 'init-backupfiles)
(require 'init-env)
(require 'init-epa)

;; Allow users to provide an optional "init-preload-local.el"
(require 'init-preload-local nil t)

(use-package wgrep)
(use-package fullframe)

(fullframe list-packages quit-window)

;; Load configs for specific features and modes
;;(require 'init-themes)
(require 'init-icons)
(require 'init-spaceline)
(require 'init-gui-frames)
(require 'init-dired)
(require 'init-isearch)
(require 'init-grep)
(require 'init-uniquify)
(require 'init-ibuffer)
(require 'init-recentf)
(require 'init-helm)
(require 'init-hydra)
(require 'init-mwim)
(require 'init-company)
(require 'init-mmm)
(require 'init-polymode)
(require 'init-editing-utils)
(require 'init-buf-mov)
(require 'init-whitespace)
(require 'init-vc)
(require 'init-git)
(require 'init-projectile)
(require 'init-gud)
(require 'init-compile)
(require 'init-regex)
(require 'init-sessions)
(require 'init-spelling)
(require 'init-misc)
(require 'init-windows)
(require 'init-folding)
(require 'init-xref)
(require 'init-tags)
(require 'init-flycheck)
(require 'init-tramp)
(require 'init-yas)
(require 'init-zeal)

;; Shells and Terms
(require 'init-shell)
(require 'init-eshell)
(require 'init-pcomplete)

;; Languages and Language Modes
(require 'init-direnv)
(require 'init-semantic)
(require 'init-lsp)
(require 'init-dap)
(require 'init-c)
(require 'init-clojure)
(require 'init-clojure-cider)
(require 'init-csv)
(require 'init-css)
(require 'init-docker)
(require 'init-elixir)
(require 'init-elm)
(require 'init-erlang)
(require 'init-golang)
(require 'init-guix)
(require 'init-haskell)
(require 'init-html)
(require 'init-java)
(require 'init-javascript)
(require 'init-lua)
(require 'init-markdown)
(require 'init-nix)
(require 'init-nxml)
(require 'init-php)
(require 'init-python)
(require 'init-ruby-mode)
(require 'init-rust)
(require 'init-scala)
(require 'init-scheme)
(require 'init-sql)
(require 'init-tex)
(require 'init-toml)
(require 'init-ocaml)
(require 'init-z3)

;; Email and Such
(require 'init-auth-sources)
(require 'init-bbdb)
(require 'init-mu4e)
(require 'init-elfeed)
(require 'init-ledger)
(require 'init-org)
(require 'init-mpd)
(require 'init-astronomical)
(require 'init-awqat)

;; PDF-tools
(require 'init-pdf-tools)

;; Allow optional "init-local"
(require 'init-local nil t)

;; Locales (setting them earlier in this file doesn't work in X)
(require 'init-locales)
(require 'init-unicode)

(provide 'init)
;;; init.el ends here

;;; Local Variables:
;;; coding: utf-8
;;; no-byte-compile: t