From 941b156a5575805fccc8bb7d9a43e8881091e55e Mon Sep 17 00:00:00 2001
From: finga <finga@onders.org>
Date: Wed, 15 Nov 2023 11:23:02 +0100
Subject: [PATCH 1/6] c, dev: Extract C config into separate file

Move configuration regarding C into its own file.
---
 .emacs.d/config/c.el   | 6 ++++++
 .emacs.d/config/dev.el | 8 --------
 .emacs.d/init.el       | 2 +-
 .gitignore.d/emacs     | 1 +
 4 files changed, 8 insertions(+), 9 deletions(-)
 create mode 100644 .emacs.d/config/c.el

diff --git a/.emacs.d/config/c.el b/.emacs.d/config/c.el
new file mode 100644
index 0000000..7605df6
--- /dev/null
+++ b/.emacs.d/config/c.el
@@ -0,0 +1,6 @@
+(setq c-default-style "linux"
+      c-basic-offset 2)
+
+(add-hook 'c-mode-hook
+          (lambda ()
+            (set-fill-column 100)))
diff --git a/.emacs.d/config/dev.el b/.emacs.d/config/dev.el
index c3cae81..3617b46 100644
--- a/.emacs.d/config/dev.el
+++ b/.emacs.d/config/dev.el
@@ -55,13 +55,5 @@
   (let ((find-program "git-find"))
     (find-dired dir "")))
 
-;; c
-(setq c-default-style "linux"
-      c-basic-offset 2)
-
-(add-hook 'c-mode-hook
-          (lambda ()
-            (set-fill-column 100)))
-
 ;; enable flyspell checks for comments in code
 (add-hook 'prog-mode-hook #'flyspell-prog-mode)
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index 56e56c9..9919a62 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -57,7 +57,7 @@ symbols, which are converted to strings, and suffixed with \".el\"."
   :group 'config-snippets
   :type '(repeat directory))
 
-(setq config-snippets '(base backups calendar dev functions gpg matrix org pass wl))
+(setq config-snippets '(base backups c calendar dev functions gpg matrix org pass wl))
 
 (message "Loading\nconfig-snippets: %s\nconfig-snippets-path: %s" config-snippets config-snippet-path)
 (dolist (snippet config-snippets)
diff --git a/.gitignore.d/emacs b/.gitignore.d/emacs
index 59b399c..6c7a263 100644
--- a/.gitignore.d/emacs
+++ b/.gitignore.d/emacs
@@ -2,6 +2,7 @@
 !/.emacs.d/config/backups.el
 !/.emacs.d/config/base.el
 !/.emacs.d/config/calendar.el
+!/.emacs.d/config/c.el
 !/.emacs.d/config/dev.el
 !/.emacs.d/config/functions.el
 !/.emacs.d/config/gpg.el

From 1c0930fa65024e13d7381ab9a65fa0ee7f3eb2a2 Mon Sep 17 00:00:00 2001
From: finga <finga@onders.org>
Date: Wed, 15 Nov 2023 11:27:28 +0100
Subject: [PATCH 2/6] dev, rust: Extract Rust config into separate file

Move configuration regarding Rust into its own file.
---
 .emacs.d/config/dev.el  | 12 ------------
 .emacs.d/config/rust.el | 13 +++++++++++++
 .emacs.d/init.el        |  2 +-
 .gitignore.d/emacs      |  1 +
 4 files changed, 15 insertions(+), 13 deletions(-)
 create mode 100644 .emacs.d/config/rust.el

diff --git a/.emacs.d/config/dev.el b/.emacs.d/config/dev.el
index 3617b46..aaa8f0a 100644
--- a/.emacs.d/config/dev.el
+++ b/.emacs.d/config/dev.el
@@ -22,18 +22,6 @@
   :ensure t
   :bind ("M-s d" . deadgrep))
 
-;; rust
-(use-package cargo :ensure t)
-(use-package cargo-mode :ensure t)
-(use-package rust-mode :ensure t)
-(use-package flycheck-rust :ensure t)
-
-;; start cargo
-(add-hook 'rust-mode-hook 'cargo-minor-mode)
-
-;; format code when saving
-(setq rust-format-on-save t)
-
 ;; yaml
 (use-package yaml-mode :ensure t)
 (use-package flycheck-yamllint :ensure t)
diff --git a/.emacs.d/config/rust.el b/.emacs.d/config/rust.el
new file mode 100644
index 0000000..bf43397
--- /dev/null
+++ b/.emacs.d/config/rust.el
@@ -0,0 +1,13 @@
+(use-package cargo
+             :ensure t
+             :config
+             ;; enable cargo keybindings
+             (add-hook 'rust-mode-hook 'cargo-minor-mode))
+
+(use-package rust-mode
+             :ensure t
+             :config
+             ;; format code when saving
+             (setq rust-format-on-save t))
+
+(use-package flycheck-rust :ensure t)
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index 9919a62..0a935e8 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -57,7 +57,7 @@ symbols, which are converted to strings, and suffixed with \".el\"."
   :group 'config-snippets
   :type '(repeat directory))
 
-(setq config-snippets '(base backups c calendar dev functions gpg matrix org pass wl))
+(setq config-snippets '(base backups c calendar dev functions gpg matrix org pass rust wl))
 
 (message "Loading\nconfig-snippets: %s\nconfig-snippets-path: %s" config-snippets config-snippet-path)
 (dolist (snippet config-snippets)
diff --git a/.gitignore.d/emacs b/.gitignore.d/emacs
index 6c7a263..15f82b4 100644
--- a/.gitignore.d/emacs
+++ b/.gitignore.d/emacs
@@ -9,6 +9,7 @@
 !/.emacs.d/config/matrix.el
 !/.emacs.d/config/org.el
 !/.emacs.d/config/pass.el
+!/.emacs.d/config/rust.el
 !/.emacs.d/config/tramp.el
 !/.emacs.d/init.el
 !/.gitignore.d/emacs

From 93ed2ac9758e4ef10718d90be1f163fddf376aaa Mon Sep 17 00:00:00 2001
From: finga <finga@onders.org>
Date: Wed, 15 Nov 2023 11:29:27 +0100
Subject: [PATCH 3/6] dev, yaml: Extract yaml config into separate file

Move configuration regarding yaml into its own file.
---
 .emacs.d/config/dev.el  | 4 ----
 .emacs.d/config/yaml.el | 2 ++
 .emacs.d/init.el        | 2 +-
 .gitignore.d/emacs      | 1 +
 4 files changed, 4 insertions(+), 5 deletions(-)
 create mode 100644 .emacs.d/config/yaml.el

diff --git a/.emacs.d/config/dev.el b/.emacs.d/config/dev.el
index aaa8f0a..14fcee8 100644
--- a/.emacs.d/config/dev.el
+++ b/.emacs.d/config/dev.el
@@ -22,10 +22,6 @@
   :ensure t
   :bind ("M-s d" . deadgrep))
 
-;; yaml
-(use-package yaml-mode :ensure t)
-(use-package flycheck-yamllint :ensure t)
-
 ;; paredit
 (use-package paredit :ensure t)
 (autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t)
diff --git a/.emacs.d/config/yaml.el b/.emacs.d/config/yaml.el
new file mode 100644
index 0000000..45cdb62
--- /dev/null
+++ b/.emacs.d/config/yaml.el
@@ -0,0 +1,2 @@
+(use-package yaml-mode :ensure t)
+(use-package flycheck-yamllint :ensure t)
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index 0a935e8..1d7e835 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -57,7 +57,7 @@ symbols, which are converted to strings, and suffixed with \".el\"."
   :group 'config-snippets
   :type '(repeat directory))
 
-(setq config-snippets '(base backups c calendar dev functions gpg matrix org pass rust wl))
+(setq config-snippets '(base backups c calendar dev functions gpg matrix org pass rust wl yaml))
 
 (message "Loading\nconfig-snippets: %s\nconfig-snippets-path: %s" config-snippets config-snippet-path)
 (dolist (snippet config-snippets)
diff --git a/.gitignore.d/emacs b/.gitignore.d/emacs
index 15f82b4..d8d62c3 100644
--- a/.gitignore.d/emacs
+++ b/.gitignore.d/emacs
@@ -11,6 +11,7 @@
 !/.emacs.d/config/pass.el
 !/.emacs.d/config/rust.el
 !/.emacs.d/config/tramp.el
+!/.emacs.d/config/yaml.el
 !/.emacs.d/init.el
 !/.gitignore.d/emacs
 !/.local/bin/em

From 9a0627bad0c7bb1c6afbe7ae118e243eaa4a0658 Mon Sep 17 00:00:00 2001
From: finga <finga@onders.org>
Date: Wed, 15 Nov 2023 11:36:50 +0100
Subject: [PATCH 4/6] dev: Reformat deadgrep and paredit config

---
 .emacs.d/config/dev.el | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/.emacs.d/config/dev.el b/.emacs.d/config/dev.el
index 14fcee8..2e61526 100644
--- a/.emacs.d/config/dev.el
+++ b/.emacs.d/config/dev.el
@@ -19,18 +19,20 @@
 
 ;; use ripgrep in emacs
 (use-package deadgrep
-  :ensure t
-  :bind ("M-s d" . deadgrep))
+             :ensure t
+             :bind ("M-s d" . deadgrep))
 
 ;; paredit
-(use-package paredit :ensure t)
-(autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t)
-(add-hook 'emacs-lisp-mode-hook       #'enable-paredit-mode)
-(add-hook 'eval-expression-minibuffer-setup-hook #'enable-paredit-mode)
-(add-hook 'ielm-mode-hook             #'enable-paredit-mode)
-(add-hook 'lisp-mode-hook             #'enable-paredit-mode)
-(add-hook 'lisp-interaction-mode-hook #'enable-paredit-mode)
-(add-hook 'scheme-mode-hook           #'enable-paredit-mode)
+(use-package paredit
+             :ensure t
+             :config
+             (autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t)
+             (add-hook 'emacs-lisp-mode-hook       #'enable-paredit-mode)
+             (add-hook 'eval-expression-minibuffer-setup-hook #'enable-paredit-mode)
+             (add-hook 'ielm-mode-hook             #'enable-paredit-mode)
+             (add-hook 'lisp-mode-hook             #'enable-paredit-mode)
+             (add-hook 'lisp-interaction-mode-hook #'enable-paredit-mode)
+             (add-hook 'scheme-mode-hook           #'enable-paredit-mode))
 
 ;; Hack to show only files known to git inside dired; needs the
 ;; `git-find' shell script shim (taken from :open https://r0tty.org/git/dotfiles/emacs/tree/.emacs.d/config/development.el)

From d80f02e0089e6f2e8230dbddaff17d19828d89d4 Mon Sep 17 00:00:00 2001
From: finga <finga@onders.org>
Date: Wed, 15 Nov 2023 11:41:49 +0100
Subject: [PATCH 5/6] dev: Add lsp config

Add configuration for the lsp-mode and Rust.
---
 .emacs.d/config/dev.el | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/.emacs.d/config/dev.el b/.emacs.d/config/dev.el
index 2e61526..f48f857 100644
--- a/.emacs.d/config/dev.el
+++ b/.emacs.d/config/dev.el
@@ -41,5 +41,18 @@
   (let ((find-program "git-find"))
     (find-dired dir "")))
 
+;; python
+;; (defun my-shell-mode-hook ()
+;;   (add-hook
+;;    'comint-output-filter-functions
+;;    'python-pdbtrack-comint-output-filter-function t))
+;; (add-hook 'shell-mode-hook 'my-shell-mode-hook)
+
 ;; enable flyspell checks for comments in code
 (add-hook 'prog-mode-hook #'flyspell-prog-mode)
+
+;; language server
+(use-package lsp-mode
+             :ensure t
+             :config
+             (add-hook 'rust-mode-hook 'lsp-deferred))

From 3b721d83462698bf4a4f019f631d6ef66fb3b26c Mon Sep 17 00:00:00 2001
From: finga <finga@onders.org>
Date: Wed, 15 Nov 2023 11:43:00 +0100
Subject: [PATCH 6/6] org: Reduce configuration

Remove the configuration of the mode as this should be superfluous and
remove the keybinding for the org-agenda as this was never used by me.
---
 .emacs.d/config/org.el | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/.emacs.d/config/org.el b/.emacs.d/config/org.el
index 585189d..5b92c32 100644
--- a/.emacs.d/config/org.el
+++ b/.emacs.d/config/org.el
@@ -1,7 +1,5 @@
 (use-package org
              :ensure t
-             :init (setq org-export-backends '(ascii html icalendar latex odt beamer))
-             :mode ("\\.org\\'" . org-mode)
-             :bind (("C-c a" . org-agenda)))
+             :init (setq org-export-backends '(ascii html icalendar latex odt beamer)))
 
 (setq org-directory "~/org")