Merge branch 'master' of gitlab.com:chriscochrun/dotemacs

This commit is contained in:
Chris Cochrun 2021-06-22 07:11:44 -05:00
commit 1daf3c7d01
2 changed files with 86 additions and 22 deletions

View file

@ -14,6 +14,7 @@
- [[#undo-fu][Undo-Fu]] - [[#undo-fu][Undo-Fu]]
- [[#better-ui][Better UI]] - [[#better-ui][Better UI]]
- [[#completion][Completion]] - [[#completion][Completion]]
- [[#yasnippet][YASnippet]]
- [[#navigation][Navigation]] - [[#navigation][Navigation]]
- [[#window-management][Window Management]] - [[#window-management][Window Management]]
- [[#help][Help]] - [[#help][Help]]
@ -33,6 +34,8 @@
- [[#transmission][Transmission]] - [[#transmission][Transmission]]
- [[#pass][Pass]] - [[#pass][Pass]]
- [[#matrix][Matrix]] - [[#matrix][Matrix]]
- [[#activitywatch][ActivityWatch]]
- [[#mybible][MyBible]]
- [[#performance][Performance]] - [[#performance][Performance]]
- [[#logging][Logging]] - [[#logging][Logging]]
- [[#early-init][Early Init]] - [[#early-init][Early Init]]
@ -631,6 +634,15 @@ Marginalia makes for some great decoration to our minibuffer completion items. W
:after company) :after company)
#+end_src #+end_src
** YASnippet
YASnippet is a templating system. It's powerful.
#+begin_src emacs-lisp
(use-package yasnippet
:config
(setq yas-snippet-dirs '("~/.dotemacs/yasnippets"))
(yas-global-mode 1))
#+end_src
** Navigation ** Navigation
*** Avy *** Avy
Avy provides a lot of functions to search through the current buffer. Most of the time I use evil or consult functions to find what I'm looking for, but avy provides a lot of small movements that are more useful for visible movements. Avy provides a lot of functions to search through the current buffer. Most of the time I use evil or consult functions to find what I'm looking for, but avy provides a lot of small movements that are more useful for visible movements.
@ -666,16 +678,23 @@ Ace link provides an avy like search for links. Upon using the keybindings prese
#+begin_src emacs-lisp #+begin_src emacs-lisp
(setq display-buffer-alist (setq display-buffer-alist
'(("\\*e?shell\\*" '(("\\*e?shell\\*"
(display-buffer-pop-up-frame)) (display-buffer-in-side-window)
(side . right)
(window-width . 0.3))
("*helpful*" ("*helpful*"
(display-buffer-pop-up-frame)) (display-buffer-in-side-window)
(side . right)
(window-width . 0.4))
("\\*elfeed-entry\\*" ("\\*elfeed-entry\\*"
(display-buffer-in-side-window) (display-buffer-in-side-window)
(side . bottom) (side . bottom)
(window-height . 0.60)) (window-height . 0.60))
("*Org Agenda(a)*" ("*Org Agenda(a)*"
(display-buffer-pop-up-frame) (display-buffer-pop-up-frame))
(wait-for-wm . t)) ("*Agenda Commands*"
(display-buffer-in-side-window)
(side . right)
(window-width . 0.30))
("\\*Bongo-Elfeed Queue\\*" ("\\*Bongo-Elfeed Queue\\*"
(display-buffer-in-side-window) (display-buffer-in-side-window)
(side . bottom) (side . bottom)
@ -765,6 +784,16 @@ Fish is my preferred shell and made some scripts in it so I keep this to be able
:mode ("\\.fish\\'" . fish-mode)) :mode ("\\.fish\\'" . fish-mode))
#+end_src #+end_src
*** Markdown
It's probably smart to have markdown.
#+begin_src emacs-lisp
(use-package markdown-mode
:mode ("\\.md\\'" . markdown-mode)
:config
(setq markdown-fontify-code-blocks-natively t))
#+end_src
*** QML *** QML
I make some apps in Qt 5 so QML is a needed language although the support in Emacs is lacking. I make some apps in Qt 5 so QML is a needed language although the support in Emacs is lacking.
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -928,7 +957,7 @@ Part of this config includes some special capture templates for my work as a you
org-agenda-sticky t org-agenda-sticky t
org-fontify-quote-and-verse-blocks t org-fontify-quote-and-verse-blocks t
org-src-preserve-indentation t org-src-preserve-indentation t
org-src-window-setup 'other-frame) org-src-window-setup 'other-window)
(add-hook 'org-mode-hook 'chris/org-mode-setup) (add-hook 'org-mode-hook 'chris/org-mode-setup)
@ -1074,7 +1103,8 @@ Part of this config includes some special capture templates for my work as a you
('normal org-mode-map ('normal org-mode-map
"RET" 'chris/org-dwim-at-point "RET" 'chris/org-dwim-at-point
"gC" 'chris/org-columns-view "gC" 'chris/org-columns-view
"ge" 'org-edit-src-code) "ge" 'org-edit-src-code
"t" 'org-todo)
('normal 'org-src-mode-map ('normal 'org-src-mode-map
"q" 'org-edit-src-abort)) "q" 'org-edit-src-abort))
#+end_src #+end_src
@ -1147,9 +1177,8 @@ We also need to setup some capture templates to use some specific setups with my
(use-package org-roam (use-package org-roam
:after org :after org
;; :ensure t ;; :ensure t
:commands (org-roam org-roam-find-file org-roam-insert)
:hook :hook
(org-load . org-roam-mode) (after-init . org-roam-mode)
:config :config
(setq org-roam-directory "~/org" (setq org-roam-directory "~/org"
org-roam-buffer-width 0.25 org-roam-buffer-width 0.25
@ -1680,7 +1709,7 @@ Let's add our own eshell prompt. and set the password cache to a significantly h
:keymaps 'override :keymaps 'override
"oe" 'eshell) "oe" 'eshell)
(general-def '(normal insert) eshell-mode-map (general-def '(normal insert) eshell-mode-map
"C-d" 'chris/kill-buffer-frame)) "C-d" 'kill-buffer-and-window))
#+end_src #+end_src
*** Eshell Aliases *** Eshell Aliases
@ -1938,6 +1967,21 @@ Matrix.el is a decent enough matrix client built in emacs. Like it.
:straight (matrix-client :type git :host github :repo "alphapapa/matrix-client.el")) :straight (matrix-client :type git :host github :repo "alphapapa/matrix-client.el"))
#+end_src #+end_src
** ActivityWatch
I like to track my time with ActivityWatch so I can notice and kill bad habits.
#+begin_src emacs-lisp
(use-package activity-watch-mode
:init (global-activity-watch-mode))
#+end_src
** MyBible
MyBible is going to be my minor mode for creating and using a bible app within Emacs. Let's see if we can't make it work.
#+begin_src emacs-lisp :tangle no
(defun chris/find-translation-tag ()
(interactive)
)
#+end_src
** Performance ** Performance
Here we have a bunch of performance tweaks Here we have a bunch of performance tweaks
#+begin_src emacs-lisp #+begin_src emacs-lisp

38
init.el
View file

@ -360,6 +360,11 @@ vertically."
(use-package company-dict (use-package company-dict
:after company) :after company)
(use-package yasnippet
:config
(setq yas-snippet-dirs '("~/.dotemacs/yasnippets"))
(yas-global-mode 1))
(use-package avy (use-package avy
:after evil) :after evil)
@ -381,16 +386,23 @@ vertically."
(setq display-buffer-alist (setq display-buffer-alist
'(("\\*e?shell\\*" '(("\\*e?shell\\*"
(display-buffer-pop-up-frame)) (display-buffer-in-side-window)
(side . right)
(window-width . 0.3))
("*helpful*" ("*helpful*"
(display-buffer-pop-up-frame)) (display-buffer-in-side-window)
(side . right)
(window-width . 0.4))
("\\*elfeed-entry\\*" ("\\*elfeed-entry\\*"
(display-buffer-in-side-window) (display-buffer-in-side-window)
(side . bottom) (side . bottom)
(window-height . 0.60)) (window-height . 0.60))
("*Org Agenda(a)*" ("*Org Agenda(a)*"
(display-buffer-pop-up-frame) (display-buffer-pop-up-frame))
(wait-for-wm . t)) ("*Agenda Commands*"
(display-buffer-in-side-window)
(side . right)
(window-width . 0.30))
("\\*Bongo-Elfeed Queue\\*" ("\\*Bongo-Elfeed Queue\\*"
(display-buffer-in-side-window) (display-buffer-in-side-window)
(side . bottom) (side . bottom)
@ -439,6 +451,11 @@ vertically."
(use-package fish-mode (use-package fish-mode
:mode ("\\.fish\\'" . fish-mode)) :mode ("\\.fish\\'" . fish-mode))
(use-package markdown-mode
:mode ("\\.md\\'" . markdown-mode)
:config
(setq markdown-fontify-code-blocks-natively t))
(use-package qml-mode (use-package qml-mode
:mode ("\\.qml\\'" . qml-mode) :mode ("\\.qml\\'" . qml-mode)
:config :config
@ -558,7 +575,7 @@ vertically."
org-agenda-sticky t org-agenda-sticky t
org-fontify-quote-and-verse-blocks t org-fontify-quote-and-verse-blocks t
org-src-preserve-indentation t org-src-preserve-indentation t
org-src-window-setup 'other-frame) org-src-window-setup 'other-window)
(add-hook 'org-mode-hook 'chris/org-mode-setup) (add-hook 'org-mode-hook 'chris/org-mode-setup)
@ -704,7 +721,8 @@ vertically."
('normal org-mode-map ('normal org-mode-map
"RET" 'chris/org-dwim-at-point "RET" 'chris/org-dwim-at-point
"gC" 'chris/org-columns-view "gC" 'chris/org-columns-view
"ge" 'org-edit-src-code) "ge" 'org-edit-src-code
"t" 'org-todo)
('normal 'org-src-mode-map ('normal 'org-src-mode-map
"q" 'org-edit-src-abort)) "q" 'org-edit-src-abort))
@ -754,9 +772,8 @@ vertically."
(use-package org-roam (use-package org-roam
:after org :after org
;; :ensure t ;; :ensure t
:commands (org-roam org-roam-find-file org-roam-insert)
:hook :hook
(org-load . org-roam-mode) (after-init . org-roam-mode)
:config :config
(setq org-roam-directory "~/org" (setq org-roam-directory "~/org"
org-roam-buffer-width 0.25 org-roam-buffer-width 0.25
@ -1247,7 +1264,7 @@ If on a:
:keymaps 'override :keymaps 'override
"oe" 'eshell) "oe" 'eshell)
(general-def '(normal insert) eshell-mode-map (general-def '(normal insert) eshell-mode-map
"C-d" 'chris/kill-buffer-frame)) "C-d" 'kill-buffer-and-window))
(setq eshell-command-aliases-list (setq eshell-command-aliases-list
'(("ls" "exa $1") '(("ls" "exa $1")
@ -1460,6 +1477,9 @@ interfere with the default `bongo-playlist-buffer'."
(chris/leader-keys (chris/leader-keys
"st" 'password-store-otp-token-copy)) "st" 'password-store-otp-token-copy))
(use-package activity-watch-mode
:init (global-activity-watch-mode))
;; Reduce rendering/line scan work for Emacs by not rendering cursors or regions ;; Reduce rendering/line scan work for Emacs by not rendering cursors or regions
;; in non-focused windows. ;; in non-focused windows.
(setq-default cursor-in-non-selected-windows nil) (setq-default cursor-in-non-selected-windows nil)