summaryrefslogtreecommitdiff
path: root/init.el
blob: e8fb9d24c88203a7c967531f7ff2d4216b8e3f91 (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
(require 'seq)

(setq auth-source-save-behavior nil
      auto-save-default nil
      change-major-mode-with-file-name nil
      custom-buffer-indent 4
      custom-file (file-name-concat user-emacs-directory "custom.el")
      custom-theme-directory (file-name-concat user-emacs-directory "themes/")
      debugger 'edebug
      enable-local-variables :safe
      inferior-lisp-program "sbcl"
      inhibit-splash-screen t
      make-backup-files nil
      scheme-program-name "guile"
      tab-width 4)

(setq-default display-fill-column-indicator-column 120
              indent-tabs-mode nil)

(let* ((init-modules-wildcard
        (file-name-concat user-emacs-directory "init" "*"))
       (lisp-modules-wildcard
        (file-name-concat user-emacs-directory "lisp" "*"))
       (init-modules-files
        (file-expand-wildcards init-modules-wildcard t))
       (lisp-modules-files
        (file-expand-wildcards lisp-modules-wildcard t))
       (files
        (append init-modules-files lisp-modules-files))
       (directories
        (seq-filter 'file-directory-p files)))
  (mapc (lambda (directory)
          (add-to-list 'load-path directory))
        directories))

(defmacro require? (feature)
  `(require ,feature nil t))

(require? 'site-gentoo)

(require? 'magit)

(require 'init-text-mode)
(require 'init-conf-mode)
(require 'init-prog-mode)
(require 'init-compile)
(require 'init-dired)
(require 'init-display-buffer)
(require 'init-ediff)
(require 'init-eldoc)
(require 'init-electric)
(require 'init-flymake)
(require 'init-garbage-collection)
(require 'init-ibuffer)
(require 'init-ielm)
(require 'init-keys)
(require 'init-man)
(require 'init-mode-line)
(require 'init-package)
(require 'init-project)
(require 'init-recentf)
(require 'init-savehist)
(require 'init-tramp)

(when (require? 'company)
  (require 'init-company))

(when (require? 'eglot)
  (require 'init-eglot))

(when (require? 'flycheck)
  (require 'init-flycheck))

(when (require? 'lsp-mode)
  (require 'init-lsp-mode))

(when (and (> emacs-major-version 28) (native-comp-available-p))
  (require 'init-native-comp))

(when (require? 'pixel-scroll)
  (require 'init-pixel-scroll))

(when (and (require? 'treesit) (treesit-available-p))
  (require 'init-treesit))
(require 'man-completion)

(require 'license-boilerplate)

(when (file-exists-p custom-file)
  (load custom-file))

(cua-mode 1)
(save-place-mode 1)
(show-paren-mode 1)
(menu-bar-mode 0)
(scroll-bar-mode 0)
(tool-bar-mode 0)
(tooltip-mode 0)

(load-theme 'wombat)
(load-theme 'badger t)