summaryrefslogtreecommitdiff
path: root/config/config.el
diff options
context:
space:
mode:
authorJohn Turner <jturner.usa@gmail.com>2022-07-03 21:29:51 -0400
committerJohn Turner <jturner.usa@gmail.com>2022-07-03 21:29:51 -0400
commite6b5e17a394cc8fdd827670b8fa1a81043c8a951 (patch)
tree30754c43c34a336053f893fa26ba8bf3b1876669 /config/config.el
downloademacs.d-e6b5e17a394cc8fdd827670b8fa1a81043c8a951.tar.gz
init
Diffstat (limited to 'config/config.el')
-rw-r--r--config/config.el54
1 files changed, 54 insertions, 0 deletions
diff --git a/config/config.el b/config/config.el
new file mode 100644
index 0000000..837282c
--- /dev/null
+++ b/config/config.el
@@ -0,0 +1,54 @@
+(require 'seq)
+
+(defvar config-directory (file-name-directory (locate-library "config")))
+
+(defun config-add-modules-to-load-path (directory)
+ (let* ((pattern (file-name-concat directory "*"))
+ (results (file-expand-wildcards pattern))
+ (directories (seq-filter 'file-directory-p results))
+ (non-hidden (seq-filter (lambda (d)
+ (let ((base (file-name-base d)))
+ (not (string-prefix-p "." base))))
+ directories)))
+ (mapc (lambda (m)
+ (add-to-list 'load-path m))
+ non-hidden)))
+
+(config-add-modules-to-load-path config-directory)
+
+(require 'config-dired)
+(require 'config-display-buffer)
+(require 'config-eldoc)
+(require 'config-electric)
+(require 'config-files)
+(require 'config-flymake)
+(require 'config-garbage-collection)
+(require 'config-keys)
+(require 'config-man)
+(require 'config-package)
+(require 'config-programming-languages)
+(require 'config-project)
+(require 'config-recentf)
+(require 'config-savehist)
+(require 'config-tramp)
+
+(require 'config-text-mode)
+(require 'config-conf-mode)
+(require 'config-prog-mode)
+
+(when (locate-library "company")
+ (require 'config-company))
+
+(when (locate-library "eglot")
+ (require 'config-eglot))
+
+(when (locate-library "flycheck")
+ (require 'config-flycheck))
+
+(when (locate-library "lsp-mode")
+ (require 'config-lsp-mode))
+
+(when (and (>= emacs-major-version 28) (native-comp-available-p))
+ (require 'config-native-comp))
+
+(provide 'config)