summaryrefslogtreecommitdiff
path: root/.emacs.d/lisp
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-03-28 14:52:43 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-03-28 14:52:43 -0400
commitb31f90af5ac142fe35cf40d1c1458b20170a7286 (patch)
treeb9e6a1c86a0597b51b8b974dd025eecf1ea62dba /.emacs.d/lisp
parent3e2f998ace2f1b4ff8e47a17c21069b80413a6e4 (diff)
refactor: Split Emacs config into multiple files
Split Emacs config into multiple files for a more readable setup.
Diffstat (limited to '.emacs.d/lisp')
-rw-r--r--.emacs.d/lisp/evil-setup.el41
-rw-r--r--.emacs.d/lisp/lsp-setup.el21
-rw-r--r--.emacs.d/lisp/magit-setup.el5
-rw-r--r--.emacs.d/lisp/melpa-setup.el9
-rw-r--r--.emacs.d/lisp/theme-setup.el11
-rw-r--r--.emacs.d/lisp/tree-sitter-setup.el15
-rw-r--r--.emacs.d/lisp/vterm-setup.el22
7 files changed, 124 insertions, 0 deletions
diff --git a/.emacs.d/lisp/evil-setup.el b/.emacs.d/lisp/evil-setup.el
new file mode 100644
index 0000000..cad03c9
--- /dev/null
+++ b/.emacs.d/lisp/evil-setup.el
@@ -0,0 +1,41 @@
+;; Download Evil
+(unless (package-installed-p 'evil)
+ (package-install 'evil))
+
+(unless (package-installed-p 'evil-collection)
+ (package-install 'evil-collection))
+
+(setq evil-want-keybinding nil)
+
+;; Enable Evil
+(use-package evil
+ :init ;; tweak evil's configuration before loading it
+ (setq evil-want-C-u-scroll t
+ evil-want-keybinding nil
+ evil-vsplit-window-right t
+ evil-split-window-below t)
+ (evil-mode))
+
+(use-package evil-collection
+ :after evil
+ :ensure t
+ :config
+ (evil-collection-init))
+
+(evil-set-leader 'normal (kbd "SPC"))
+(define-key evil-normal-state-map (kbd "<leader>w") 'save-buffer)
+(define-key evil-normal-state-map (kbd "<leader>%") 'split-window-right)
+(define-key evil-normal-state-map (kbd "<leader>\"") 'split-window-below)
+(cond ((not (eq system-type 'windows-nt))
+ (define-key evil-normal-state-map (kbd "<leader>t") 'vterm))
+ (t (define-key evil-normal-state-map (kbd "<leader>t") 'ansi-term)))
+(define-key evil-normal-state-map (kbd "<leader>ff") 'find-file)
+(define-key evil-normal-state-map (kbd "<leader>pv") 'dired)
+(define-key evil-normal-state-map (kbd "<leader>c") 'shell-command)
+(define-key evil-normal-state-map (kbd "C-l") 'windmove-right)
+(define-key evil-normal-state-map (kbd "C-h") 'windmove-left)
+(define-key evil-normal-state-map (kbd "C-j") 'windmove-down)
+(define-key evil-normal-state-map (kbd "C-k") 'windmove-up)
+
+(provide 'evil-setup)
+
diff --git a/.emacs.d/lisp/lsp-setup.el b/.emacs.d/lisp/lsp-setup.el
new file mode 100644
index 0000000..9fbf669
--- /dev/null
+++ b/.emacs.d/lisp/lsp-setup.el
@@ -0,0 +1,21 @@
+;; Download LSP-Mode
+(unless (package-installed-p 'lsp-mode)
+ (package-install 'lsp-mode))
+
+;; Setup LSP-Mode
+(require 'lsp-mode)
+(add-hook 'c-mode-hook #'lsp)
+(add-hook 'c++-mode-hook #'lsp)
+(add-hook 'elisp-mode-hook #'lsp)
+
+;; Company-Mode for LSP-Mode
+(unless (package-installed-p 'company)
+ (package-install 'company))
+
+;; Setup LSP-Mode
+;;(require 'company)
+;;(setq company-minimum-prefix-length 1
+;; company-idle-delay 0.0) ;; default is 0.2
+
+(provide 'lsp-setup)
+
diff --git a/.emacs.d/lisp/magit-setup.el b/.emacs.d/lisp/magit-setup.el
new file mode 100644
index 0000000..1018218
--- /dev/null
+++ b/.emacs.d/lisp/magit-setup.el
@@ -0,0 +1,5 @@
+(unless (package-installed-p 'magit)
+ (package-install 'magit))
+
+(provide 'magit-setup)
+
diff --git a/.emacs.d/lisp/melpa-setup.el b/.emacs.d/lisp/melpa-setup.el
new file mode 100644
index 0000000..b95fcea
--- /dev/null
+++ b/.emacs.d/lisp/melpa-setup.el
@@ -0,0 +1,9 @@
+;; Set up package.el to work with MELPA
+(require 'package)
+(add-to-list 'package-archives
+ '("melpa" . "https://melpa.org/packages/"))
+(package-initialize)
+(unless package-archive-contents
+ (package-refresh-contents))
+
+(provide 'melpa-setup)
diff --git a/.emacs.d/lisp/theme-setup.el b/.emacs.d/lisp/theme-setup.el
new file mode 100644
index 0000000..98152c4
--- /dev/null
+++ b/.emacs.d/lisp/theme-setup.el
@@ -0,0 +1,11 @@
+(add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
+(load-theme 'naysayer t)
+
+(unless (package-installed-p 'acme-theme)
+ (package-install 'acme-theme))
+
+(use-package acme-theme
+ :config
+ (load-theme 'acme t))
+
+(provide 'theme-setup)
diff --git a/.emacs.d/lisp/tree-sitter-setup.el b/.emacs.d/lisp/tree-sitter-setup.el
new file mode 100644
index 0000000..d57027d
--- /dev/null
+++ b/.emacs.d/lisp/tree-sitter-setup.el
@@ -0,0 +1,15 @@
+;; Download Treesitter
+(unless (package-installed-p 'tree-sitter)
+ (package-install 'tree-sitter))
+
+(unless (package-installed-p 'tree-sitter-langs)
+ (package-install 'tree-sitter-langs))
+
+;; Treesitter
+(require 'tree-sitter)
+(require 'tree-sitter-langs)
+
+(global-tree-sitter-mode)
+;;(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode)
+
+(provide 'tree-sitter-setup)
diff --git a/.emacs.d/lisp/vterm-setup.el b/.emacs.d/lisp/vterm-setup.el
new file mode 100644
index 0000000..dbdea29
--- /dev/null
+++ b/.emacs.d/lisp/vterm-setup.el
@@ -0,0 +1,22 @@
+(use-package vterm
+ :ensure t)
+
+(set-face-attribute 'vterm-color-black nil :foreground "#171421" :background "#171421")
+(set-face-attribute 'vterm-color-red nil :foreground "#C01C28" :background "#C01C28")
+(set-face-attribute 'vterm-color-green nil :foreground "#26A269" :background "#26A269")
+(set-face-attribute 'vterm-color-yellow nil :foreground "#A2734C" :background "#A2734C")
+(set-face-attribute 'vterm-color-blue nil :foreground "#12488B" :background "#12488B")
+(set-face-attribute 'vterm-color-magenta nil :foreground "#A347BA" :background "#A347BA")
+(set-face-attribute 'vterm-color-cyan nil :foreground "#2AA1B3" :background "#2AA1B3")
+(set-face-attribute 'vterm-color-white nil :foreground "#D0CFCC" :background "#D0CFCC")
+(set-face-attribute 'vterm-color-bright-black nil :foreground "#5E5C64" :background "#5E5C64")
+(set-face-attribute 'vterm-color-bright-red nil :foreground "#F66151" :background "#F66151")
+(set-face-attribute 'vterm-color-bright-green nil :foreground "#33DA7A" :background "#33DA7A")
+(set-face-attribute 'vterm-color-bright-yellow nil :foreground "#E9AD0C" :background "#E9AD0C")
+(set-face-attribute 'vterm-color-bright-blue nil :foreground "#2A7BDE" :background "#2A7BDE")
+(set-face-attribute 'vterm-color-bright-magenta nil :foreground "#C061CB" :background "#C061CB")
+(set-face-attribute 'vterm-color-bright-cyan nil :foreground "#33C7DE" :background "#33C7DE")
+(set-face-attribute 'vterm-color-bright-white nil :foreground "#FFFFFF" :background "#FFFFFF")
+
+(provide 'vterm-setup)
+