updated config

This commit is contained in:
Matt Nish-Lapidus 2024-03-25 14:18:11 -04:00
parent a17c6e234d
commit 7fd35f59e6
5 changed files with 96 additions and 55 deletions

View file

@ -160,6 +160,7 @@
:desc "Test project" "T" #'projectile-test-project :desc "Test project" "T" #'projectile-test-project
:desc "Pop up scratch buffer" "x" #'doom/open-project-scratch-buffer :desc "Pop up scratch buffer" "x" #'doom/open-project-scratch-buffer
:desc "Switch to scratch buffer" "X" #'doom/switch-to-project-scratch-buffer :desc "Switch to scratch buffer" "X" #'doom/switch-to-project-scratch-buffer
:desc "Justfile Commands" "j" #'justl
(:when (and (modulep! :tools taskrunner) (:when (and (modulep! :tools taskrunner)
(or (modulep! :completion ivy) (or (modulep! :completion ivy)
(modulep! :completion helm))) (modulep! :completion helm)))
@ -167,15 +168,15 @@
;;; <leader> i --- insert ;;; <leader> i --- insert
(:prefix-map ("i" . "insert") (:prefix-map ("i" . "insert")
(:when (> emacs-major-version 28) (:when (> emacs-major-version 28)
:desc "Emoji" "e" #'emoji-search) :desc "Emoji" "e" #'emoji-search)
(:when (modulep! :ui emoji) (:when (modulep! :ui emoji)
:desc "Emoji" "e" #'emojify-insert-emoji) :desc "Emoji" "e" #'emojify-insert-emoji)
:desc "Current file name" "f" #'+default/insert-file-path :desc "Current file name" "f" #'+default/insert-file-path
:desc "Current file path" "F" (cmd!! #'+default/insert-file-path t) :desc "Current file path" "F" (cmd!! #'+default/insert-file-path t)
:desc "Snippet" "s" #'+default/insert-snippet :desc "Snippet" "s" #'+default/insert-snippet
:desc "Unicode" "u" #'insert-char :desc "Unicode" "u" #'insert-char
:desc "From clipboard" "y" #'+default/yank-pop) :desc "From clipboard" "y" #'+default/yank-pop)
;;; <leader> s --- search ;;; <leader> s --- search
@ -295,8 +296,8 @@
:desc "Magit buffer log" "L" #'magit-log-buffer-file :desc "Magit buffer log" "L" #'magit-log-buffer-file
:desc "Git stage file" "S" #'magit-stage-file :desc "Git stage file" "S" #'magit-stage-file
:desc "Git unstage file" "U" #'magit-unstage-file :desc "Git unstage file" "U" #'magit-unstage-file
:desc "Git push current" "P" #'magit-push-implicitly :desc "Git push current" "P" #'magit-push-implicitly
:desc "Git push with options" "p" #'magit-push :desc "Git push with options" "p" #'magit-push
(:prefix ("f" . "find") (:prefix ("f" . "find")
:desc "Find file" "f" #'magit-find-file :desc "Find file" "f" #'magit-find-file
:desc "Find gitconfig file" "g" #'magit-find-git-config-file :desc "Find gitconfig file" "g" #'magit-find-git-config-file
@ -313,13 +314,13 @@
:desc "Browse issues" "I" #'forge-browse-issues :desc "Browse issues" "I" #'forge-browse-issues
:desc "Browse pull requests" "P" #'forge-browse-pullreqs) :desc "Browse pull requests" "P" #'forge-browse-pullreqs)
(:prefix ("l" . "list") (:prefix ("l" . "list")
(:when (modulep! :tools gist) (:when (modulep! :tools gist)
:desc "List gists" "g" #'+gist:list) :desc "List gists" "g" #'+gist:list)
:desc "List repositories" "r" #'magit-list-repositories :desc "List repositories" "r" #'magit-list-repositories
:desc "List submodules" "s" #'magit-list-submodules :desc "List submodules" "s" #'magit-list-submodules
:desc "List issues" "i" #'forge-list-issues :desc "List issues" "i" #'forge-list-issues
:desc "List pull requests" "p" #'forge-list-pullreqs :desc "List pull requests" "p" #'forge-list-pullreqs
:desc "List notifications" "n" #'forge-list-notifications) :desc "List notifications" "n" #'forge-list-notifications)
(:prefix ("c" . "create") (:prefix ("c" . "create")
:desc "Initialize repo" "r" #'magit-init :desc "Initialize repo" "r" #'magit-init
:desc "Clone repo" "R" #'magit-clone :desc "Clone repo" "R" #'magit-clone
@ -357,7 +358,7 @@
:desc "Jump to references" "D" #'+lookup/references :desc "Jump to references" "D" #'+lookup/references
:desc "Evaluate buffer/region" "e" #'+eval/buffer-or-region :desc "Evaluate buffer/region" "e" #'+eval/buffer-or-region
:desc "Evaluate & replace region" "E" #'+eval:replace-region :desc "Evaluate & replace region" "E" #'+eval:replace-region
:desc "Toggle Fold" "z" #'+fold/toggle :desc "Toggle Fold" "z" #'+fold/toggle
:desc "Format buffer/region" "f" #'+format/region-or-buffer :desc "Format buffer/region" "f" #'+format/region-or-buffer
:desc "Find implementations" "i" #'+lookup/implementations :desc "Find implementations" "i" #'+lookup/implementations
:desc "Jump to documentation" "k" #'+lookup/documentation :desc "Jump to documentation" "k" #'+lookup/documentation
@ -365,7 +366,10 @@
:desc "Find type definition" "t" #'+lookup/type-definition :desc "Find type definition" "t" #'+lookup/type-definition
:desc "Delete trailing whitespace" "w" #'delete-trailing-whitespace :desc "Delete trailing whitespace" "w" #'delete-trailing-whitespace
:desc "Delete trailing newlines" "W" #'doom/delete-trailing-newlines :desc "Delete trailing newlines" "W" #'doom/delete-trailing-newlines
:desc "List errors" "x" #'+default/diagnostics) :desc "List errors" "x" #'+default/diagnostics
:desc "Spaces -> Tabs" "<tab>" #'tabify
:desc "Tabs -> Spaces" "<S-tab>" #'untabify)
;;; <leader> q --- quit/restart ;;; <leader> q --- quit/restart
(:prefix-map ("q" . "quit/session") (:prefix-map ("q" . "quit/session")
@ -380,8 +384,8 @@
:desc "Save session to file" "S" #'doom/save-session :desc "Save session to file" "S" #'doom/save-session
:desc "Restore session from file" "L" #'doom/load-session :desc "Restore session from file" "L" #'doom/load-session
:desc "Restart & restore Emacs" "r" #'doom/restart-and-restore :desc "Restart & restore Emacs" "r" #'doom/restart-and-restore
:desc "Restart Emacs" "R" #'doom/restart) :desc "Restart Emacs" "R" #'doom/restart))
)
;; some helpful general keys ;; some helpful general keys
(map! "s-c" #'kill-ring-save (map! "s-c" #'kill-ring-save
@ -408,20 +412,10 @@
"M-<left>" nil "M-<left>" nil
"M-<right>" nil) "M-<right>" nil)
;; Smartparens bindings set to be called with localleader + l as prefix
(map! (map!
:map lisp-mode-map
:localleader :localleader
:prefix ("l" . "Lisps") :map lisp-mode-map
"f" #'sp-forward-sexp :desc "Load cl-patterns helpers" "p" #'cl-patterns-helpers-load)
"b" #'sp-backward-sexp
"u" #'sp-unwrap-sexp
"k" #'sp-kill-sexp
"s" #'sp-forward-slurp-sexp
"r" #'sp-forward-barf-sexp
"(" #'sp-wrap-round
"[" #'sp-wrap-square
"{" #'sp-wrap-curly)
(map! (map!
:map smartparens-mode-map :map smartparens-mode-map

View file

@ -25,7 +25,7 @@
(set-keyboard-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8)
(prefer-coding-system 'utf-8) (prefer-coding-system 'utf-8)
(setq org-directory "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Primary/org/") (setq org-directory "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Primary")
;; Modeline ;; Modeline
;; - add current workspace name ;; - add current workspace name
@ -62,6 +62,11 @@
(+global-word-wrap-mode +1) ; default to soft word wrap (+global-word-wrap-mode +1) ; default to soft word wrap
(delete-selection-mode 1) ; delete stuff! (delete-selection-mode 1) ; delete stuff!
(setq delete-active-region t) ; delete selected stuff! (setq delete-active-region t) ; delete selected stuff!
(setq shell-file-name (executable-find "bash"))
(setq-default vterm-shell (executable-find "fish"))
(setq-default explicit-shell-file-name (executable-find "fish"))
;; remove org agenda from the splash screen ;; remove org agenda from the splash screen
(assoc-delete-all "Open org-agenda" +doom-dashboard-menu-sections) (assoc-delete-all "Open org-agenda" +doom-dashboard-menu-sections)
@ -82,7 +87,7 @@
window-resize-pixelwise t))) window-resize-pixelwise t)))
;; tabs! i like them ;; tabs! i like them
(setq-default indent-tabs-mode t) ;; (setq-default indent-tabs-mode t)
(setq-default tab-width 2) (setq-default tab-width 2)
;; import all my customized keybindings based on doom evil mode, but without evil. ;; import all my customized keybindings based on doom evil mode, but without evil.
@ -102,6 +107,9 @@
(after! smart-tabs-mode (after! smart-tabs-mode
(smart-tabs-insinuate 'c 'javascript 'python)) (smart-tabs-insinuate 'c 'javascript 'python))
(after! meow
(meow-vterm-enable))
;; Add consult-line searches to isearch history (both regular and regex) -- can now use meow 'n' to continue search as well as isearch ;; Add consult-line searches to isearch history (both regular and regex) -- can now use meow 'n' to continue search as well as isearch
(advice-add #'consult-line :after (advice-add #'consult-line :after
(lambda (&rest _) (lambda (&rest _)
@ -147,7 +155,7 @@
"s-M-<left>" 'centaur-tabs-backward)) "s-M-<left>" 'centaur-tabs-backward))
;; use kitty for terminal-here ;; use kitty for terminal-here
(setq terminal-here-mac-terminal-command '("kitty" "@" "launch" "--type" "tab")) (setq terminal-here-mac-terminal-command '("kitty" "@" "launch" "--type=tab"))
;; set project paths and ignore buffers ;; set project paths and ignore buffers
(setq projectile-project-search-path '(("~/Source" . 2))) (setq projectile-project-search-path '(("~/Source" . 2)))
@ -171,8 +179,8 @@
;; better completions for sly ;; better completions for sly
(after! sly (after! sly
(setq sly-lisp-implementations (setq sly-lisp-implementations
'((sbcl ("sbcl" "--dynamic-space-size" "10000")) '((sbcl ("sbcl" "--dynamic-space-size" "12000"))
(ciel ("sbcl" "--core" "/Users/emenel/quicklisp/local-projects/CIEL/ciel-core" "--eval" "(in-package :ciel-user)" "--dynamic-space-size" "2600")))) (ciel ("sbcl" "--core" "/Users/emenel/quicklisp/local-projects/CIEL/ciel-core" "--eval" "(in-package :ciel-user)" "--dynamic-space-size" "2600"))))
(setq sly-default-lisp 'sbcl) (setq sly-default-lisp 'sbcl)
(setq sly-complete-symbol-function 'sly-flex-completions)) (setq sly-complete-symbol-function 'sly-flex-completions))
@ -184,9 +192,9 @@
(defun cl-patterns-helpers-load () (defun cl-patterns-helpers-load ()
(interactive) (interactive)
(sly-eval-async '(cl:namestring (asdf:system-source-directory (asdf:find-system 'cl-patterns))) (sly-eval-async '(cl:namestring (asdf:system-source-directory (asdf:find-system 'cl-patterns)))
(lambda (path) (lambda (path)
(load (concat path "res/emacs/cl-patterns-helpers") nil nil nil t) (load (concat path "res/emacs/cl-patterns-helpers") nil nil nil t)
(load (concat path "res/emacs/cl-patterns-skeletons") nil nil nil t))) (load (concat path "res/emacs/cl-patterns-skeletons") nil nil nil t)))
(define-key sly-mode-map (kbd "C-c p") 'cl-patterns-play-or-end-context-or-select-pdef) (define-key sly-mode-map (kbd "C-c p") 'cl-patterns-play-or-end-context-or-select-pdef)
(define-key sly-mode-map (kbd "C-c P") 'cl-patterns-play-or-stop-context-or-select-pdef) (define-key sly-mode-map (kbd "C-c P") 'cl-patterns-play-or-stop-context-or-select-pdef)
(define-key sly-mode-map (kbd "C-c s") 'cl-patterns-stop-all) (define-key sly-mode-map (kbd "C-c s") 'cl-patterns-stop-all)
@ -199,7 +207,7 @@
(setq exec-path (append exec-path '("/Applications/SuperCollider.app/Contents/MacOS/"))) (setq exec-path (append exec-path '("/Applications/SuperCollider.app/Contents/MacOS/")))
;; tidal cycles! ;; tidal cycles!
(setq tidal-boot-script-path "~/.cabal/share/aarch64-osx-ghc-9.4.2/tidal-1.9.3/BootTidal.hs") ;; (setq tidal-boot-script-path "~/.cabal/share/aarch64-osx-ghc-9.4.2/tidal-1.9.3/BootTidal.hs")
;; add platformio to ino files ;; add platformio to ino files
(add-to-list 'auto-mode-alist '("\\.ino\\'" . arduino-mode)) (add-to-list 'auto-mode-alist '("\\.ino\\'" . arduino-mode))
@ -215,4 +223,27 @@
(custom-set-faces! (custom-set-faces!
'(line-number :foreground "#424242")) '(line-number :foreground "#424242"))
;; mu4e
(set-email-account! "matt@emenel.ca"
'((mu4e-sent-folder . "/matt@emenel.ca/Sent")
(mu4e-drafts-folder . "/matt@emenel.ca/Drafts")
(mu4e-trash-folder . "/matt@emenel.ca/Trash")
(mu4e-refile-folder . "/matt@emenel.ca/Archive")
(mu4e-spam-folder . "/matt@emenel.ca/Spam")
(smtpmail-smtp-user . "matt@emenel.ca")
(user-mail-address . "matt@emenel.ca") ;; only needed for mu < 1.4
(mu4e-compose-signature . "---"))
t)
;; (after! mu4e
;; (add-to-list 'mu4e-bookmarks
;; '( :name "Inbox"
;; :query "maildir:/INBOX"
;; :key ?i)
;; '( :name "Inbox Unread"
;; :query "maildir:/INBOX and flag:unread"
;; :key ?o)))
(use-package! kbd-mode)
(server-start) (server-start)

22
init.el
View file

@ -88,28 +88,28 @@
:tools :tools
chezmoi chezmoi
;;ansible ansible
biblio ; Writes a PhD for you (citation needed) biblio ; Writes a PhD for you (citation needed)
;;debugger ; FIXME stepping through code, to help you add bugs debugger ; FIXME stepping through code, to help you add bugs
direnv direnv
;;docker docker
;;editorconfig ; let someone else argue about tabs vs spaces editorconfig ; let someone else argue about tabs vs spaces
;;ein ; tame Jupyter notebooks with emacs ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls) (eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists ;;gist ; interacting with github gists
lookup ; navigate your code and its documentation lookup ; navigate your code and its documentation
lsp ; M-x vscode lsp ; M-x vscode
magit ; a git porcelain for Emacs magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs make ; run make tasks from Emacs
;;pass ; password manager for nerds ;;pass ; password manager for nerds
pdf ; pdf enhancements pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders ;;prodigy ; FIXME managing external services & code builders
rgb ; creating color strings rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects ;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux ;;tmux ; an API for interacting with tmux
tree-sitter ; syntax and parsing, sitting in a tree... tree-sitter ; syntax and parsing, sitting in a tree...
;;upload ; map local to remote projects via ssh/ftp upload ; map local to remote projects via ssh/ftp
:os :os
(:if IS-MAC macos) ; improve compatibility with macOS (:if IS-MAC macos) ; improve compatibility with macOS
@ -152,7 +152,7 @@
;;lean ; for folks with too much to prove ;;lean ; for folks with too much to prove
;;ledger ; be audit you can be ;;ledger ; be audit you can be
lua ; one-based indices? one-based indices lua ; one-based indices? one-based indices
(markdown +tree-sitter) ; writing docs for people to ignore (markdown +tree-sitter) ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c ;;nim ; python + lisp at the speed of c
;;nix ; I hereby Declare "nix geht mehr!" ;;nix ; I hereby Declare "nix geht mehr!"
;;ocaml ; an objective camel ;;ocaml ; an objective camel
@ -180,8 +180,8 @@
(zig +lsp) ; C, but simpler (zig +lsp) ; C, but simpler
:email :email
;; (mu4e +org +gmail) (mu4e +org)
;;notmuch ;; notmuch
;;(wanderlust +gmail) ;;(wanderlust +gmail)
:app :app

View file

@ -3,7 +3,7 @@
;; configure obsidian integration for note taking fun times ;; configure obsidian integration for note taking fun times
(use-package! obsidian (use-package! obsidian
:config :config
(obsidian-specify-path "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Primary") (obsidian-specify-path "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Primary/")
(setq obsidian-inbox-directory "_Inbox") (setq obsidian-inbox-directory "_Inbox")
(global-obsidian-mode t) (global-obsidian-mode t)
(map! :map obsidian-mode-map (map! :map obsidian-mode-map

View file

@ -16,8 +16,22 @@
(unpin! orderless) (unpin! orderless)
(unpin! cape) (unpin! cape)
(unpin! corfu) (unpin! corfu)
(unpin! yasnippet-capf)
;; (unpin! geiser) ;; (unpin! geiser)
(package! meow-vterm
:recipe (:type git
:host github
:repo "accelbread/meow-vterm"))
(package! kbd-mode
:recipe (:type git
:host github
:repo "kmonad/kbd-mode"))
(package! just-mode)
(package! justl)
(package! nerd-icons-completion) (package! nerd-icons-completion)
(package! nerd-icons-dired) (package! nerd-icons-dired)
(package! treemacs-nerd-icons) (package! treemacs-nerd-icons)
@ -41,6 +55,8 @@
(package! scad-mode) (package! scad-mode)
(package! consult-yasnippet) (package! consult-yasnippet)
(package! gcode-mode) (package! gcode-mode)
(package! sly-asdf)
(package! sly-quicklisp)
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: ;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package) ;(package! some-package)