]> git.earman.xyz Git - emacsinit.git/commitdiff
Packages back into main config file
authorrearman <rearman@r717.net>
Fri, 8 May 2026 20:00:34 +0000 (16:00 -0400)
committerrearman <rearman@r717.net>
Fri, 8 May 2026 20:00:34 +0000 (16:00 -0400)
README.org
re/re-packages.el [deleted file]

index 15111538714d3a935684b96a32f712d766a5d232..e782ad74a94aa184af916e9e2fef8d0cd3753d8d 100644 (file)
 * Initial
 #+BEGIN_SRC emacs-lisp
   (dolist (path '("sedit-mouse/" "themes/" "re/"))
-    (add-to-list 'load-path (concat user-emacs-directory path)))
+      (add-to-list 'load-path (concat user-emacs-directory path)))
 
-  (dolist (file '(re-packages re-pass-alike eng-paper-theme sedit-mouse))
-    (require file))
+  (dolist (file '(re-pass-alike eng-paper-theme sedit-mouse))
+        (require file))
 
   (setq w32-recognize-altgr 'nil)
 
         (find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name)))))
 
 #+END_SRC
-* Editing
+* Packages
+** Boilerplate
+Add melpa, and reduce the declarations by setting defaults
 #+BEGIN_SRC emacs-lisp
-;; Editing
-(defun re/open-line-below (n)
-  "Creates a new empty line below the current line and moves to it."
-  (interactive "*p")
-  (end-of-line)
-  (open-line n)
-  (next-line 1)
-  (indent-for-tab-command))
-
-(keymap-global-set "C-o" #'re/open-line-below)
-
-(defun re/open-line-above (n)
-  "Creates a new empty line above the current line."
-  (interactive "*p")
-  (beginning-of-line)
-  (open-line n)
-  (indent-for-tab-command))
-
-(keymap-global-set "M-o" #'re/open-line-above)
-
-(defun re/flush-extra-lines ()
-  "Change all groups of blank lines to 1 blank line."
-  (interactive)
-  (save-excursion (mark-whole-buffer)
-                  (replace-regexp "^\n+"
-                                  "\n"
-                                  nil
-                                  (region-beginning)
-                                  (region-end))))
-
-(defun re/comment-dwim (&optional arg)
-  "Comment region if active, otherwise comment line.
-Stolen from https://depp.brause.cc/dotemacs"
-  (interactive "P")
-  (if (use-region-p)
-      (comment-or-uncomment-region (region-beginning) (region-end))
-    (comment-line arg)))
+(require 'package)
 
-(keymap-global-set "M-;" #'re/comment-dwim)
-
-(defun re/comment-defun (&optional arg)
-  "Mark a defun and comment it out.
-Return to initial position after.  Arg works on `mark-defun'."
-  (interactive "P")
-  (save-excursion (mark-defun arg)
-                  (comment-region (region-beginning) (region-end))))
+(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
 
-(keymap-global-set "C-M-;" #'re/comment-defun)
-
-(defun re/kill-defun (&optional arg)
-  "Mark a defun and kill it.
-Arg works on `mark-defun'."
-  (interactive "P")
-  (mark-defun arg)
-  (kill-region (region-beginning) (region-end)))
-
-(keymap-global-set "C-M-S-K" #'re/kill-defun)
-
-(defun re/kill-bword-or-region (&optional arg)
-"Kill region if active, otherwise kill back one word."
-(interactive "p")
-(if (use-region-p)
-    (kill-region (region-beginning) (region-end))
-  (backward-kill-word arg)))
+(setq use-package-always-ensure t
+      use-package-always-defer t)
+#+END_SRC
+** Corfu
+#+BEGIN_SRC emacs-lisp
+(use-package corfu
+  :demand
+  t
+  :custom
+  (corfu-auto t)
+  (corfu-auto-delay 0)
+  (corfu-auto-prefix 1)
+  :config
+  (global-corfu-mode))
+
+(use-package corfu-popupinfo
+  :ensure
+  nil ; part of corfu
+  :after
+  corfu
+  :hook
+  (corfu-mode . corfu-popupinfo-mode)
+  :custom
+  (corfu-popupinfo-delay '(1.0 . 0.01)) ; start with M-t, fast refresh once on
+  (corfu-popupinfo-hide nil)
+  :config
+  (corfu-popupinfo-mode))
+#+END_SRC
+** Expand Region
+#+BEGIN_SRC emacs-lisp
+(use-package expand-region
+  :bind
+  (("C-=" . er/expand-region)))
+#+END_SRC
+** Aggressive Indent
+#+BEGIN_SRC emacs-lisp
+(use-package aggressive-indent)
+#+END_SRC
+** Magit
+No longer needed, since I defer by default.
+** Page Break Lines
+Needs to be demanded so I don't have to manually load it
+#+BEGIN_SRC emacs-lisp
+(use-package page-break-lines
+  :demand
+  t
+  :config
+  (global-page-break-lines-mode))
+#+END_SRC
+** AucTeX and pdftools
+Make AucTeX use pdftools, prompt for master file, synctex, etc.
+#+BEGIN_SRC emacs-lisp
+(use-package pdf-tools)
+
+(use-package auctex
+  :config
+  (setq-default TeX-master nil)
+  (add-to-list 'TeX-view-program-selection '(output-pdf "PDF Tools"))
+  (setq TeX-auto-save t
+        TeX-parse-self t
+        TeX-PDF-mode t
+        TeX-source-correlate-start-server t)
+  (add-hook 'TeX-after-compilation-finished-functions
+            #'TeX-revert-document-buffer))
+#+END_SRC
+** CSV Mode
+#+BEGIN_SRC emacs-lisp
+(use-package csv-mode
+  :config
+  (add-hook 'csv-mode-hook 'csv-align-mode))
 
-(keymap-global-set "C-w" #'re/kill-bword-or-region)
+#+END_SRC
+** Markdown Mode
+Make markdown act more like org when I'm forced to use it
+#+BEGIN_SRC emacs-lisp
+(use-package markdown-mode
+  :config
+  (setq markdown-special-ctrl-a/e t)
+  :bind
+  (:map markdown-mode-map
+        ("M-<right>" . markdown-demote)
+        ("M-<left>" . markdown-promote)
+        ("M-<up>" . markdown-move-up)
+        ("M-<down>" . markdown-move-down)
+        ("C-M-u" . markdown-up-heading)
+        ("C-M-b" . markdown-outline-previous-same-level)
+        ("C-M-f" . markdown-outline-next-same-level)
+        ("C-M-p" . markdown-outline-previous)
+        ("C-M-n" . markdown-outline-next)))
+
+(use-package edit-indirect :after 'markdown-mode)
+#+END_SRC
+** Sly
+#+BEGIN_SRC emacs-lisp
+  (defun re/sly-repl-new-frame (&optional arg)
+    "Start a SLY repl in a new frame."
+    (interactive "P")
+    (re/open-with-new-frame "SLY" #'sly))
+
+  (defun re/sly-quit-current-lisp ()
+    "Quit the current lisp repl connection without prompting."
+    (interactive)
+    (sly-quit-lisp nil nil))
+
+  (defun re/sly-connect-stump (&optional arg)
+    "Connect to my typical stumpwm instance."
+    (interactive "P")
+    (sly-connect "localhost" 4004))
+
+  (use-package sly
+    :config
+    (setq inferior-lisp-program "sbcl"
+        sly-net-coding-system 'utf-8-unix
+        sly-command-switch-to-existing-lisp 'always)
+    (let ((core (expand-file-name "~/sbcl.core-for-sly")))
+      (when (file-exists-p core)
+        (setq sly-lisp-implementations (list `(sbcl ("sbcl" "--core" ,core))))))
+    :bind
+    (:map sly-mrepl-mode-map
+        (")" . (lambda () (interactive) (re/send-on-close-paren #'sly-mrepl-return)))
+        ("]" . (lambda () (interactive) (re/balance-and-eval-sexp #'sly-mrepl-return)))
+        ("C-c q" . re/sly-quit-current-lisp)))
+#+END_SRC
+*** Eldoc settings
+Sly really doesn't play well with elodc in the minibuffer, so here are some settings to make it better.
+#+BEGIN_SRC emacs-lisp
+(add-to-list 'display-buffer-alist
+             '("^\\*eldoc" display-buffer-in-direction
+               (direction . 'down)
+               (window-height . 4)))
+(keymap-global-set "C-c d" #'eldoc) ; force eldoc to show in minibuffer
+(keymap-global-set "C-c D" #'eldoc-doc-buffer) ; open eldoc buffer when it's getting spammed
+#+END_SRC
+** Geiser
+#+BEGIN_SRC emacs-lisp
+  (use-package geiser
+    :config
+    (if (equal system-type 'windows-nt)
+        (setq geiser-chicken-binary '("C:/tools/chicken/bin/csi.exe" "-:c"))
+      (setq geiser-chicken-binary "csi -:c"))
+    (setq scheme-program-name geiser-chicken-binary
+        geiser-active-implementations '(chicken))
+    (add-hook 'scheme-mode-hook 'geiser-mode)
+    :bind
+    (:map geiser-repl-mode-map
+        (")" . (lambda () (interactive) (re/send-on-close-paren #'geiser-repl-maybe-send)))
+        ("]" . (lambda () (interactive) (re/balance-and-eval-sexp #'geiser-repl-maybe-send)))))
+
+  (use-package geiser-chicken :after 'geiser)
+#+END_SRC
+** Forth
+*** TODO Try out this mode for gforth
+#+BEGIN_SRC emacs-lisp
+(use-package forth-mode)
+#+END_SRC
+** ORG
+Loading in org customizations from a separate file for now.  Maybe tangle that file from here in the future
+#+BEGIN_SRC emacs-lisp
+  (use-package org
+    :config
+    (require 'org-mouse)
+    (require 're-org)
+    :bind
+    (("C-c l" . org-store-link)
+     ("C-c a" . org-agenda)
+     ("C-c c" . org-capture)
+     ("C-c b" . org-switchb)
+     ("<f10>" . org-clock-out)
+     ("<f2>" . org-clock-goto)
+     :map org-mode-map
+     ("M-<right>" . org-shiftmetaright)
+     ("M-<left>" . org-shiftmetaleft)
+     ("M-S-<right>" . org-metaright)
+     ("M-S-<left>" . org-metaleft)
+     ("C-M-h" . org-mark-subtree)
+     ("C-M-u" . org-up-element)
+     ("C-M-d" . org-down-element)
+     ("C-M-b" . org-backward-heading-same-level)
+     ("C-M-f" . org-forward-heading-same-level)
+     ("C-M-p" . org-previous-visible-heading)
+     ("C-M-n" . org-next-visible-heading)
+     ("<f9>" . org-clock-in)))
+
+  (use-package org-transclusion
+    :after
+    org
+    :bind
+    (("C-c t" . org-transclusion-mode)))
+#+END_SRC
+** HOWM
+On-again, off-again relationship with this one
+#+BEGIN_SRC emacs-lisp
+(use-package howm
+  :config
+  (require 're-howm)
+  :bind
+  (("<f6>" . howm-menu)
+   ("S-<f6>" . re/howm-menu-new-frame)
+   :map howm-mode-map
+   ("C-c , k" . re/howm-create-keyword)
+   ("C-c , =" . howm-narrow-to-memo)))
+#+END_SRC
+** Trashed
+Shows the trash file as a dired buffer
+#+BEGIN_SRC emacs-lisp
+(use-package trashed
+  :config
+  (setq trashed-action-confirmer 'y-or-n-p
+        trashed-use-header-line t
+        trashed-sort-key '("Date deleted" . t)
+        trashed-date-format "%Y-%m-%d %H:%M:%S"))
+#+END_SRC
+* Editing
+** UNIX/vi-like bindings
+=C-h=, =C-w=, =C-u=, et. al to work as I expect.  Some functions get re-bound when these take over a default.
+#+BEGIN_SRC emacs-lisp
+  (defun re/open-line-below (n)
+    "Creates a new empty line below the current line and moves to it."
+    (interactive "*p")
+    (end-of-line)
+    (open-line n)
+    (next-line 1)
+    (indent-for-tab-command))
+
+  (keymap-global-set "C-o" #'re/open-line-below)
+
+  (defun re/open-line-above (n)
+    "Creates a new empty line above the current line."
+    (interactive "*p")
+    (beginning-of-line)
+    (open-line n)
+    (indent-for-tab-command))
+
+  (keymap-global-set "M-o" #'re/open-line-above)
+
+  (defun re/kill-bword-or-region (&optional arg)
+    "Kill region if active, otherwise kill back one word."
+    (interactive "p")
+    (if (use-region-p)
+        (kill-region (region-beginning) (region-end))
+      (backward-kill-word arg)))
+
+  (keymap-global-set "C-w" #'re/kill-bword-or-region)
+  (keymap-global-set "C-u" (lambda () (interactive) (kill-line 0))) ; kill-line backwards
+  (keymap-global-set "C-S-U" #'universal-argument)
+  (keymap-set key-translation-map "C-h" "<DEL>") ; Rather F1 for help, also C-S-H works
+  (keymap-global-set "M-j" (lambda () (interactive) (join-line 0))) ; join-line other way
+#+END_SRC
+** Commenting and defun-level bindings
+#+BEGIN_SRC emacs-lisp
+  (defun re/comment-dwim (&optional arg)
+    "Comment region if active, otherwise comment line.
+  Stolen from https://depp.brause.cc/dotemacs"
+    (interactive "P")
+    (if (use-region-p)
+        (comment-or-uncomment-region (region-beginning) (region-end))
+      (comment-line arg)))
+
+  (keymap-global-set "M-;" #'re/comment-dwim)
+
+  (defun re/comment-defun (&optional arg)
+    "Mark a defun and comment it out.
+  Return to initial position after.  Arg works on `mark-defun'."
+    (interactive "P")
+    (save-excursion (mark-defun arg)
+                    (comment-region (region-beginning) (region-end))))
+
+  (keymap-global-set "C-M-;" #'re/comment-defun)
+
+  (defun re/kill-defun (&optional arg)
+    "Mark a defun and kill it.
+  Arg works on `mark-defun'."
+    (interactive "P")
+    (mark-defun arg)
+    (kill-region (region-beginning) (region-end)))
+
+  (keymap-global-set "C-M-S-K" #'re/kill-defun)
+#+END_SRC
 
+** Misc QOL bindings
+#+BEGIN_SRC emacs-lisp
 (keymap-global-set "<insert>" nil) ; I keep toggliĊ‹ overwrite-mode haply
 (keymap-global-set "C-\\" #'undo-redo) ; issues with C-? sometimes
 (keymap-global-set "C-S-K" #'kill-whole-line)
-(keymap-global-set "C-u" (lambda () (interactive) (kill-line 0))) ; kill-line backwards
-(keymap-global-set "C-S-U" #'universal-argument) ; C-u used above
-(keymap-set key-translation-map "C-h" "<DEL>") ; Rather F1 for help, also C-S-H works
 (keymap-global-set "C-S-d" #'delete-pair)
-(keymap-global-set "M-j" (lambda () (interactive) (join-line 0))) ; join-line other way
 (keymap-global-set "C-z" #'zap-up-to-char)
 (keymap-global-set "C-c s" #'sort-lines)
 (keymap-global-set "<remap> <capitalize-word>" #'capitalize-dwim) ; M-c
@@ -151,11 +367,6 @@ Arg works on `mark-defun'."
 (dolist (hook '(text-mode-hook LaTeX-mode-hook))
   (add-hook hook #'visual-line-mode))
 
-(add-to-list 'display-buffer-alist
-             '("^\\*eldoc" display-buffer-in-direction
-               (direction . 'down)
-               (window-height . 4)))
-
 (blink-cursor-mode -1)
 (delete-selection-mode t)
 
@@ -195,8 +406,6 @@ Arg works on `mark-defun'."
 (keymap-global-set "C-x M-b" #'buffer-menu-other-window)
 (keymap-global-set "C-x k" #'kill-current-buffer)
 (keymap-global-set "C-x K" #'kill-buffer)
-(keymap-global-set "C-c d" #'eldoc) ; force eldoc to show in minibuffer
-(keymap-global-set "C-c D" #'eldoc-doc-buffer) ; open eldoc buffer when it's getting spammed
 #+END_SRC
 * Motion
 #+BEGIN_SRC emacs-lisp
@@ -580,11 +789,20 @@ Start from bottom if given a negative line number."
 #+END_SRC
 * Cleanup on write
 #+BEGIN_SRC emacs-lisp
-;; Cleanup on write
-(setq require-final-newline t)
-(add-hook 'before-save-hook #'re/flush-extra-lines)
-(add-hook 'before-save-hook #'whitespace-cleanup)
-(add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p)
+  (defun re/flush-extra-lines ()
+      "Change all groups of blank lines to 1 blank line."
+      (interactive)
+      (save-excursion (mark-whole-buffer)
+                      (replace-regexp "^\n+"
+                                      "\n"
+                                      nil
+                                      (region-beginning)
+                                      (region-end))))
+  ;; Cleanup on write
+  (setq require-final-newline t)
+  (add-hook 'before-save-hook #'re/flush-extra-lines)
+  (add-hook 'before-save-hook #'whitespace-cleanup)
+  (add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p)
 #+END_SRC
 * Control
 #+BEGIN_SRC emacs-lisp
@@ -815,48 +1033,6 @@ Stolen from https://depp.brause.cc/dotemacs"
       (eshell-life-is-too-much)
     (delete-char arg)))
 #+END_SRC
-* SLY REPL
-#+BEGIN_SRC emacs-lisp
-;; SLY  REPL
-(add-hook 'sly-mrepl-mode-hook
-          (lambda ()
-            (keymap-set sly-mrepl-mode-map
-                        ")"
-                        (re/send-on-close-paren #'sly-mrepl-return))
-            (keymap-set sly-mrepl-mode-map
-                        "]"
-                        (re/balance-and-eval-sexp #'sly-mrepl-return))
-            (keymap-set sly-mrepl-mode-map
-                        "C-c q"
-                        #'re/sly-quit-current-lisp)))
-
-(defun re/sly-repl-new-frame (&optional arg)
-  "Start a SLY repl in a new frame."
-  (interactive "P")
-  (re/open-with-new-frame "SLY" #'sly))
-
-(defun re/sly-quit-current-lisp ()
-  "Quit the current lisp repl connection without prompting."
-  (interactive)
-  (sly-quit-lisp nil nil))
-
-(defun re/sly-connect-stump (&optional arg)
-  "Connect to my typical stumpwm instance."
-  (interactive "P")
-  (sly-connect "localhost" 4004))
-#+END_SRC
-* GEISER REPL
-#+BEGIN_SRC emacs-lisp
-;; GEISER REPL
-(add-hook 'geiser-repl-mode-hook
-          (lambda ()
-            (keymap-set geiser-repl-mode-map
-                        ")"
-                        (re/send-on-close-paren #'geiser-repl-maybe-send))
-            (keymap-set geiser-repl-mode-map
-                        "]"
-                        (re/balance-and-eval-sexp #'geiser-repl-maybe-send))))
-#+END_SRC
 * C-mode
 #+BEGIN_SRC emacs-lisp
 ;;; C-mode
diff --git a/re/re-packages.el b/re/re-packages.el
deleted file mode 100644 (file)
index 2a43385..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-;;; re-packages.el --- Load Packs -*-  lexical-binding: t; -*-
-;; This file is not part of Emacs.
-
-;;; Code:
-
-(require 'package)
-
-(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
-
-(setq use-package-always-ensure t
-      use-package-always-defer t)
-\f
-;; UI/Editing
-
-(use-package corfu
-  :demand
-  t
-  :custom
-  (corfu-auto t)
-  (corfu-auto-delay 0)
-  (corfu-auto-prefix 1)
-  :config
-  (global-corfu-mode))
-
-(use-package corfu-popupinfo
-  :ensure
-  nil ; part of corfu
-  :after
-  corfu
-  :hook
-  (corfu-mode . corfu-popupinfo-mode)
-  :custom
-  (corfu-popupinfo-delay '(1.0 . 0.01)) ; start with M-t, fast refresh once on
-  (corfu-popupinfo-hide nil)
-  :config
-  (corfu-popupinfo-mode))
-
-(use-package expand-region
-  :bind
-  (("C-=" . er/expand-region)))
-
-(use-package aggressive-indent :defer t)
-
-(use-package magit
-  :config
-  (message "Magit Loaded"))
-
-(use-package page-break-lines
-  :demand
-  t
-  :config
-  (global-page-break-lines-mode))
-\f
-;; Filetypes
-(use-package pdf-tools)
-
-(use-package auctex
-  :config
-  (setq-default TeX-master nil)
-  (add-to-list 'TeX-view-program-selection '(output-pdf "PDF Tools"))
-  (setq TeX-auto-save t
-       TeX-parse-self t
-       TeX-PDF-mode t
-       TeX-source-correlate-start-server t)
-  (add-hook 'TeX-after-compilation-finished-functions
-           #'TeX-revert-document-buffer))
-
-(use-package csv-mode
-  :config
-  (add-hook 'csv-mode-hook 'csv-align-mode))
-
-(use-package markdown-mode
-  :config
-  (setq markdown-special-ctrl-a/e t)
-  :bind
-  (:map markdown-mode-map
-       ("M-<right>" . markdown-demote)
-       ("M-<left>" . markdown-promote)
-       ("M-<up>" . markdown-move-up)
-       ("M-<down>" . markdown-move-down)
-       ("C-M-u" . markdown-up-heading)
-       ("C-M-b" . markdown-outline-previous-same-level)
-       ("C-M-f" . markdown-outline-next-same-level)
-       ("C-M-p" . markdown-outline-previous)
-       ("C-M-n" . markdown-outline-next)))
-
-(use-package edit-indirect :after 'markdown-mode)
-\f
-;; REPLs
-(use-package sly
-  :config
-  (setq inferior-lisp-program "sbcl"
-       sly-net-coding-system 'utf-8-unix
-       sly-command-switch-to-existing-lisp 'always)
-  (let ((core (expand-file-name "~/sbcl.core-for-sly")))
-    (when (file-exists-p core)
-      (setq sly-lisp-implementations (list `(sbcl ("sbcl" "--core" ,core)))))))
-
-(use-package geiser
-  :config
-  (if (equal system-type 'windows-nt)
-      (setq geiser-chicken-binary '("C:/tools/chicken/bin/csi.exe" "-:c"))
-    (setq geiser-chicken-binary "csi -:c"))
-  (setq scheme-program-name geiser-chicken-binary
-       geiser-active-implementations '(chicken))
-  (add-hook 'scheme-mode-hook 'geiser-mode))
-
-(use-package geiser-chicken :after 'geiser)
-
-(use-package forth-mode)
-\f
-;; PIM
-(use-package org
-  :config
-  (require 'org-mouse)
-  (require 're-org)
-  :bind
-  (("C-c l" . org-store-link)
-   ("C-c a" . org-agenda)
-   ("C-c c" . org-capture)
-   ("C-c b" . org-switchb)
-   ("<f10>" . org-clock-out)
-   ("<f2>" . org-clock-goto)
-   :map org-mode-map
-   ("M-<right>" . org-shiftmetaright)
-   ("M-<left>" . org-shiftmetaleft)
-   ("M-S-<right>" . org-metaright)
-   ("M-S-<left>" . org-metaleft)
-   ("C-M-h" . org-mark-subtree)
-   ("C-M-u" . org-up-element)
-   ("C-M-d" . org-down-element)
-   ("C-M-b" . org-backward-heading-same-level)
-   ("C-M-f" . org-forward-heading-same-level)
-   ("C-M-p" . org-previous-visible-heading)
-   ("C-M-n" . org-next-visible-heading)
-   ("<f9>" . org-clock-in)))
-
-(use-package org-transclusion
-  :after
-  org
-  :bind
-  (("C-c t" . org-transclusion-mode)))
-
-(use-package howm
-  :config
-  (require 're-howm)
-  :bind
-  (("<f6>" . howm-menu)
-   ("S-<f6>" . re/howm-menu-new-frame)
-   :map howm-mode-map
-   ("C-c , k" . re/howm-create-keyword)
-   ("C-c , =" . howm-narrow-to-memo)))
-\f
-;; MISC
-(use-package trashed
-  :config
-  (setq trashed-action-confirmer 'y-or-n-p
-       trashed-use-header-line t
-       trashed-sort-key '("Date deleted" . t)
-       trashed-date-format "%Y-%m-%d %H:%M:%S"))
-
-(provide 're-packages)
-;;; re-packages.el ends here