aboutsummaryrefslogtreecommitdiff
path: root/shoshimacs.el
diff options
context:
space:
mode:
Diffstat (limited to 'shoshimacs.el')
-rw-r--r--shoshimacs.el88
1 files changed, 49 insertions, 39 deletions
diff --git a/shoshimacs.el b/shoshimacs.el
index fec63b2..b210f6e 100644
--- a/shoshimacs.el
+++ b/shoshimacs.el
@@ -1,4 +1,8 @@
-;;; shoshimacs.el --- Beginner's Mind Config -*- lexical-binding:t -*-
+;;; shoshimacs.el --- Beginner's Mind Config -*- lexical-binding:t -*-
+;;; Commentary:
+;;; Personal configuration rewritten from basics.
+
+;;; Code:
(let ((my-custom-file (expand-file-name
"shoshimacs-custom.el" user-emacs-directory)))
@@ -16,7 +20,7 @@
(find-file *my-config*))
(defun my-reload-config ()
- "Tangles and reloads a literate config with `org-babel-load-file'"
+ "Tangles and reloads a literate config with `org-babel-load-file'."
(interactive)
(org-babel-load-file *my-config*))
@@ -37,17 +41,23 @@
"List of themes I prefer for narrowing and random selection.")
;;; Package Management
+(require 'package)
+
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
(package-refresh-contents) ;; this will make internet requests on start up
-(when (and (functionp #'native-comp-available-p) (native-comp-available-p))
- (setq native-comp-always-compile t
- package-native-compile t))
+(require 'comp)
+(setq native-comp-always-compile t
+ package-native-compile t)
;;; Major Keybinding
;; these need to be set before requiring the package
+(defvar xah-fly-use-control-key)
+(defvar xah-fly-use-meta-key)
+(defvar xah-fly-leader-key-map)
+(defvar xah-fly-command-map)
(setq xah-fly-use-control-key nil
xah-fly-use-meta-key nil)
(package-install 'xah-fly-keys)
@@ -58,18 +68,18 @@
(define-key 'xah-fly-leader-key-map (kbd "1") #'delete-other-windows)
(defmacro with-map-defkey (keymap leader &rest pairs)
- "Define a new KEYMAP with prefix key LEADER, and list of bindings in it."
+ "Define a new KEYMAP with prefix key LEADER and list of bindings PAIRS in it."
(declare (indent 2))
`(progn
(defvar ,keymap (make-sparse-keymap))
(define-prefix-command (quote ,keymap))
(global-set-key (kbd ,leader) ,keymap)
(mapc (lambda (pair)
- (define-key ,keymap
- (kbd (if (numberp (car pair)) (number-to-string (car pair))
- (symbol-name (car pair))))
- (cadr pair)))
- (quote ,(seq-partition pairs 2)))))
+ (define-key ,keymap
+ (kbd (if (numberp (car pair)) (number-to-string (car pair))
+ (symbol-name (car pair))))
+ (cadr pair)))
+ (quote ,(seq-partition pairs 2)))))
(with-map-defkey my-key-map "M-m"
1 delete-other-windows
@@ -99,6 +109,7 @@
tab-always-indent 'complete)
(package-install 'consult)
+(require 'consult)
(global-set-key (kbd "C-x b") #'consult-buffer)
(define-key xah-fly-leader-key-map (kbd "f") #'consult-buffer)
@@ -109,6 +120,7 @@
(setq consult-themes my-chosen-themes))
(defun my-show-all-themes ()
+ "Remove the selected themes from `consult-themes` so all installed themes will show."
(interactive)
(setq consult-themes nil))
@@ -171,6 +183,7 @@
org-refile-targets '((nil . (:maxlevel . 2))))
(defun my-org-top-level-heading ()
+ "Jump to the top level parent of an org subtree."
(interactive)
(let ((moo 1))
(while moo (setq moo (org-up-heading-safe)))))
@@ -202,9 +215,29 @@
;;; Programming
(setq inferior-lisp-program "sbcl")
-(package-install 'sly)
-
-(package-install 'sly-quicklisp)
+(setq slime-contribs
+ '(
+ slime-fancy ;; default value, includes many fundamental contribs
+ slime-company
+ slime-mrepl
+ inferior-slime
+ slime-fuzzy
+ slime-asdf
+ slime-banner
+ slime-presentations
+ slime-xref-browser
+ slime-highlight-edits
+ slime-quicklisp
+ ))
+
+(slime-setup)
+
+(defun my-slime-return (_)
+ "Function to advise `slime-repl-return' to make <RET> inspect the presentation at point."
+ (when (slime-presentation-around-or-before-point-p)
+ (slime-inspect-presentation-at-point (point))))
+
+(advice-add 'slime-repl-return :before #'my-slime-return)
(package-install 'json-mode)
@@ -253,31 +286,6 @@
(package-install 'srht)
(setq srht-username "shoshin")
-(defun read-file-into-string (f)
- (with-temp-buffer
- (insert-file-contents f)
- (buffer-string)))
-
-(setq cicadas-paste-pw (read-file-into-string "~/.bepasty-key"))
-
-(defun cicadas-paste-current-buffer ()
- (interactive)
- (let ((tmpfile
- (concat "/tmp/" (buffer-name))))
- (write-region nil nil tmpfile)
- (let ((url
- (cl-first (last (butlast
- (split-string
- (shell-command-to-string
- (format "pastebinit -i '%s' -p %s -t '%s' -f text/plain"
- tmpfile
- cicadas-paste-pw
- (buffer-name)))
- "\n"))))))
- (delete-file tmpfile)
- (kill-new url)
- (message "Pasted to %s (on kill ring)" url))))
-
(package-install 'restclient)
;;; User Interface
@@ -331,3 +339,5 @@ Saves to a temp file and puts the filename in the kill ring."
(message filename)))
(package-install 'windresize)
+(provide 'shoshimacs)
+;;; shoshimacs.el ends here