mirror of https://github.com/Flinner/dots.git
feat: lots of emacs changes
This commit is contained in:
parent
ed33755f5c
commit
237ea3953e
|
@ -1,5 +1,5 @@
|
||||||
#+title: Flinner's Config
|
#+title: Flinner's Config
|
||||||
#+PROPERTY: header-args:emacs-lisp :tangle ./init.el :mkdirp yes
|
#+PROPERTY: header-args:emacs-lisp :tangle ~/.config/emacs.mine/init.el :mkdirp yes
|
||||||
#+startup: content
|
#+startup: content
|
||||||
* README:
|
* README:
|
||||||
run the following
|
run the following
|
||||||
|
@ -99,6 +99,7 @@ Emacs Backups trashing local dir!
|
||||||
auto-save-default t ; auto-save every buffer that visits a file
|
auto-save-default t ; auto-save every buffer that visits a file
|
||||||
auto-save-timeout 20 ; number of seconds idle time before auto-save (default: 30)
|
auto-save-timeout 20 ; number of seconds idle time before auto-save (default: 30)
|
||||||
auto-save-interval 200 ; number of keystrokes between auto-saves (default: 300)
|
auto-save-interval 200 ; number of keystrokes between auto-saves (default: 300)
|
||||||
|
create-lockfiles nil ; don't use lockfiles (default: t)
|
||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
Better Scrolling
|
Better Scrolling
|
||||||
|
@ -106,7 +107,7 @@ Better Scrolling
|
||||||
(setq scroll-conservatively 10)
|
(setq scroll-conservatively 10)
|
||||||
(setq scroll-margin 3)
|
(setq scroll-margin 3)
|
||||||
(use-package smooth-scrolling
|
(use-package smooth-scrolling
|
||||||
:init (smooth-scrolling-mode 1))
|
:custom (smooth-scrolling-mode 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Fonts
|
** Fonts
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
@ -317,13 +318,41 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
||||||
"fD" '(dired-jump :which-key "dired current")
|
"fD" '(dired-jump :which-key "dired current")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
**** Roam and Org (r)
|
**** Roam and Org (r/C)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
"r" '(:ignore t :which-key "Roam+Org")
|
"r" '(:ignore t :which-key "Roam+Org")
|
||||||
|
|
||||||
"rd" '(deft :which-key "Deft")
|
"rD" '(deft :which-key "Deft")
|
||||||
"rf" '(org-roam-node-find :which-key "Find Note")
|
"rf" '(org-roam-node-find :which-key "Find Note")
|
||||||
"rl" '(org-roam-buffer-toggle :which-key "Toggle Sidebar")
|
"rl" '(org-roam-buffer-toggle :which-key "Toggle Sidebar")
|
||||||
|
"rr" '(org-roam-db-sync :which-key "Roam Sync")
|
||||||
|
"ri" '(org-roam-node-insert :which-key "Node Insert")
|
||||||
|
"rI" '(org-id-get-create :which-key "Org Id get/create")
|
||||||
|
|
||||||
|
|
||||||
|
;; Dailies
|
||||||
|
"rd" '(:ignore t :which-key "Dailies")
|
||||||
|
"rdT" '(org-roam-dailies-goto-today :which-key "Go To Today")
|
||||||
|
"rdt" '(org-roam-dailies-capture-today :which-key "Capture Today")
|
||||||
|
"rdY" '(org-roam-dailies-goto-yesterday :which-key "Go To yesterday")
|
||||||
|
"rdy" '(org-roam-dailies-capture-yesterday :which-key "Capture yesterday")
|
||||||
|
"rdM" '(org-roam-dailies-goto-tomorrow :which-key "Go To tomorrow")
|
||||||
|
"rdm" '(org-roam-dailies-capture-tomorrow :which-key "Capture tomorrow")
|
||||||
|
|
||||||
|
;; Clocks
|
||||||
|
"rc" '(:ignore t :which-key "Clocks")
|
||||||
|
"rci" '(org-clock-in :which-key "Clock In")
|
||||||
|
"rcI" '(org-clock-in-last :which-key "Clock In Last")
|
||||||
|
"rco" '(org-clock-out :which-key "Clock Out")
|
||||||
|
"rcp" '(org-pomodoro :which-key "Pomodoro")
|
||||||
|
"rcR" '(org-clock-report :which-key "Clock Report")
|
||||||
|
|
||||||
|
;; Schedules and Deadlines
|
||||||
|
;; TODO!
|
||||||
|
#+end_src
|
||||||
|
Capture
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
"C" '(org-capture :which-key "Org-Capture")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
**** Open (o)
|
**** Open (o)
|
||||||
|
@ -332,6 +361,8 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
||||||
|
|
||||||
"oT" '(vterm :which-key "Vterm in current window")
|
"oT" '(vterm :which-key "Vterm in current window")
|
||||||
"ot" '(vterm-other-window :which-key "Vterm in other window")
|
"ot" '(vterm-other-window :which-key "Vterm in other window")
|
||||||
|
"ob" '(bookmark-jump :which-key "Bookmark Jump")
|
||||||
|
"oB" '(bookmark-set :which-key "Bookmark set")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
**** Buffers (b)
|
**** Buffers (b)
|
||||||
|
@ -343,16 +374,22 @@ E: honestly I have no clue wtf that meant, but I will keep it
|
||||||
"bl" '(evil-switch-to-windows-last-buffer :which-key "Last Buffer")
|
"bl" '(evil-switch-to-windows-last-buffer :which-key "Last Buffer")
|
||||||
"bi" '(ibuffer :which-key "Ibuffer")
|
"bi" '(ibuffer :which-key "Ibuffer")
|
||||||
"br" '(revert-buffer :which-key "Ibuffer")
|
"br" '(revert-buffer :which-key "Ibuffer")
|
||||||
|
"bb" '(switch-to-buffer :which-key "Ibuffer")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
**** Windows (w)
|
**** Windows (w)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
"w" '(:ignore t :which-key "Windows")
|
"w" '(:ignore t :which-key "Windows")
|
||||||
|
|
||||||
"wj" '(evil-window-down :which-key "Evil Window Down")
|
"wj" '(evil-window-down :which-key "Window Down")
|
||||||
"wk" '(evil-window-up :which-key "Window Up")
|
"wk" '(evil-window-up :which-key "Window Up")
|
||||||
"wl" '(evil-window-right :which-key "Window Left")
|
"wl" '(evil-window-right :which-key "Window Left")
|
||||||
"wh" '(evil-window-left :which-key "Window Down")
|
"wh" '(evil-window-left :which-key "Window Down")
|
||||||
|
"wJ" '(evil-window-move-very-bottom :which-key "Move Window Down")
|
||||||
|
"wK" '(evil-window-move-very-top :which-key "Move Window Up")
|
||||||
|
"wL" '(evil-window-move-far-right :which-key "Move Window Left")
|
||||||
|
"wH" '(evil-window-move-far-left :which-key "Move Window Down")
|
||||||
|
|
||||||
"ws" '(evil-window-split :which-key "Window Split")
|
"ws" '(evil-window-split :which-key "Window Split")
|
||||||
"wv" '(evil-window-vsplit :which-key "Window Vsplit")
|
"wv" '(evil-window-vsplit :which-key "Window Vsplit")
|
||||||
"wd" '(evil-window-delete :which-key "Window delete")
|
"wd" '(evil-window-delete :which-key "Window delete")
|
||||||
|
@ -608,6 +645,7 @@ Ivy floating
|
||||||
(ivy-posframe-mode +1))
|
(ivy-posframe-mode +1))
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Counsel
|
** Counsel
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package counsel
|
(use-package counsel
|
||||||
|
@ -625,7 +663,8 @@ Ivy floating
|
||||||
(use-package which-key
|
(use-package which-key
|
||||||
:init (which-key-mode)
|
:init (which-key-mode)
|
||||||
:diminish which-key-mode
|
:diminish which-key-mode
|
||||||
:config (setq which-key-idle-delay 1))
|
:config (setq which-key-idle-delay 1
|
||||||
|
which-key-max-display-columns 5))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Company Mode
|
** Company Mode
|
||||||
|
@ -682,7 +721,7 @@ better sorting for ivy, company..
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Org-Mode
|
* Org-Mode
|
||||||
** use-package and Appereance
|
** use-package
|
||||||
Modes To Start
|
Modes To Start
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(defun my/org-mode/org-mode-setup ()
|
(defun my/org-mode/org-mode-setup ()
|
||||||
|
@ -722,7 +761,17 @@ use-package
|
||||||
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
|
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||||
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch))
|
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch))
|
||||||
#+end_src
|
#+end_src
|
||||||
Symbols
|
|
||||||
|
** Set directories
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(setq org-directory "~/Documents/gtd/"
|
||||||
|
org-agenda-files (list org-directory)
|
||||||
|
org-roam-directory "~/Documents/roam"
|
||||||
|
)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Appearance
|
||||||
|
*** Symbols
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(defun my/org-mode/load-prettify-symbols ()
|
(defun my/org-mode/load-prettify-symbols ()
|
||||||
(interactive)
|
(interactive)
|
||||||
|
@ -742,15 +791,59 @@ Symbols
|
||||||
(prettify-symbols-mode 1))
|
(prettify-symbols-mode 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Set directories
|
*** Visual Fill (center)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq org-directory "~/Documents/gtd/"
|
(defun my/org-mode/org-mode-visual-fill ()
|
||||||
org-agenda-files (list org-directory)
|
(interactive)
|
||||||
org-roam-directory "~/Documents/roam"
|
(setq visual-fill-column-width 110
|
||||||
)
|
visual-fill-column-center-text t
|
||||||
|
fill-column 90)
|
||||||
|
(visual-fill-column-mode 1))
|
||||||
|
#+end_src
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package visual-fill-column; center text
|
||||||
|
:hook (org-mode . my/org-mode/org-mode-visual-fill))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Structure Templates
|
*** org-bullets
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package org-bullets
|
||||||
|
:after org
|
||||||
|
:hook (org-mode . org-bullets-mode)
|
||||||
|
:custom
|
||||||
|
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** HOLD Auto Tangle Configuration Files
|
||||||
|
Automatically tangle our Emacs.org config file when we save it
|
||||||
|
#+begin_src emacs-lisp :tangle no
|
||||||
|
(defun my/org-mode/org-babel-tangle-config ()
|
||||||
|
(when (string-equal (buffer-file-name)
|
||||||
|
(expand-file-name "~/.config/emacs/init.org"))
|
||||||
|
;; Dynamic scoping to the rescue
|
||||||
|
(let ((org-confirm-babel-evaluate nil))
|
||||||
|
(org-babel-tangle))))
|
||||||
|
|
||||||
|
(add-hook 'org-mode-hook
|
||||||
|
(lambda () (add-hook 'after-save-hook #'my/org-mode/org-babel-tangle-config)))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Babel
|
||||||
|
Don't confirm, I know what I am doing
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(setq org-confirm-babel-evaluate nil)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Language List
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(org-babel-do-load-languages
|
||||||
|
'org-babel-load-languages
|
||||||
|
'((emacs-lisp . t)
|
||||||
|
(python . t)
|
||||||
|
(shell . t)))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Structure Templates
|
||||||
Allow fast code insertion
|
Allow fast code insertion
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; This is needed as of Org 9.2
|
;; This is needed as of Org 9.2
|
||||||
|
@ -761,40 +854,12 @@ Allow fast code insertion
|
||||||
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** org-bullets
|
** Capture Templates
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package org-bullets
|
(setq org-capture-templates
|
||||||
:after org
|
`(
|
||||||
:hook (org-mode . org-bullets-mode)
|
("d" "Distraction" entry (file+headline ,(concat org-directory "distractions.org") "Inbox")
|
||||||
:custom
|
"* %?\n%T")))
|
||||||
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Visual Fill (center)
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(defun my/org-mode/org-mode-visual-fill ()
|
|
||||||
(interactive)
|
|
||||||
(setq visual-fill-column-width 110
|
|
||||||
visual-fill-column-center-text t)
|
|
||||||
(visual-fill-column-mode 1))
|
|
||||||
#+end_src
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package visual-fill-column; center text
|
|
||||||
:hook (org-mode . my/org-mode/org-mode-visual-fill))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Babel
|
|
||||||
Don't confirm, I know what I am doing
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(setq org-confirm-babel-evaluate nil)
|
|
||||||
#+end_src
|
|
||||||
Language List
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(org-babel-do-load-languages
|
|
||||||
'org-babel-load-languages
|
|
||||||
'((emacs-lisp . t)
|
|
||||||
(python . t)
|
|
||||||
(shell . t)))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Agenda
|
** Agenda
|
||||||
|
@ -806,20 +871,6 @@ Language List
|
||||||
"REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
"REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Auto Tangle Configuration Files
|
|
||||||
Automatically tangle our Emacs.org config file when we save it
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(defun my/org-mode/org-babel-tangle-config ()
|
|
||||||
(when (string-equal (buffer-file-name)
|
|
||||||
(expand-file-name "~/.config/emacs/init.org"))
|
|
||||||
;; Dynamic scoping to the rescue
|
|
||||||
(let ((org-confirm-babel-evaluate nil))
|
|
||||||
(org-babel-tangle))))
|
|
||||||
|
|
||||||
(add-hook 'org-mode-hook
|
|
||||||
(lambda () (add-hook 'after-save-hook #'my/org-mode/org-babel-tangle-config)))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** org-pomodoro
|
** org-pomodoro
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package org-pomodoro
|
(use-package org-pomodoro
|
||||||
|
@ -835,6 +886,10 @@ Automatically tangle our Emacs.org config file when we save it
|
||||||
:custom
|
:custom
|
||||||
(org-roam-completion-everywhere t)
|
(org-roam-completion-everywhere t)
|
||||||
(org-roam-db-gc-threshold most-positive-fixnum) ;; preformance
|
(org-roam-db-gc-threshold most-positive-fixnum) ;; preformance
|
||||||
|
(org-roam-capture-ref-templates
|
||||||
|
'(("r" "ref" plain "%?" :if-new
|
||||||
|
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}")
|
||||||
|
:unnarrowed t)))
|
||||||
:config
|
:config
|
||||||
;; side window
|
;; side window
|
||||||
(require 'org-roam-protocol)
|
(require 'org-roam-protocol)
|
||||||
|
@ -903,7 +958,6 @@ Counsel Projectile
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq gc-cons-threshold 100000000)
|
(setq gc-cons-threshold 100000000)
|
||||||
(setq read-process-output-max (* 1024 4024)) ;; 4mb
|
(setq read-process-output-max (* 1024 4024)) ;; 4mb
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** lsp-mode
|
*** lsp-mode
|
||||||
|
@ -1235,6 +1289,99 @@ Better Diff in header sizes
|
||||||
`([,(cdr char-regexp) 0 font-shape-gstring]))))
|
`([,(cdr char-regexp) 0 font-shape-gstring]))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* IRC
|
||||||
|
** unsused 'erc'
|
||||||
|
#+begin_src emacs-lisp :tangle no
|
||||||
|
(use-package erc
|
||||||
|
:custom
|
||||||
|
(erc-autojoin-timing 'ident)
|
||||||
|
(erc-fill-function 'erc-fill-static)
|
||||||
|
(erc-fill-static-center 25)
|
||||||
|
(erc-hide-list '("JOIN" "PART" "QUIT"))
|
||||||
|
(erc-lurker-hide-list '("JOIN" "PART" "QUIT"))
|
||||||
|
(erc-lurker-threshold-time 43200)
|
||||||
|
(erc-prompt-for-nickserv-password nil)
|
||||||
|
(erc-server-reconnect-attempts 5)
|
||||||
|
(erc-server-reconnect-timeout 3)
|
||||||
|
(erc-track-exclude-types '("JOIN" "MODE" "NICK" "PART" "QUIT"
|
||||||
|
"324" "329" "332" "333" "353" "477"))
|
||||||
|
:config
|
||||||
|
;; (add-to-list 'erc-modules 'notifications)
|
||||||
|
(add-to-list 'erc-modules 'spelling)
|
||||||
|
(erc-services-mode 1)
|
||||||
|
(erc-update-modules))
|
||||||
|
|
||||||
|
(use-package erc-hl-nicks
|
||||||
|
:after erc)
|
||||||
|
|
||||||
|
(use-package erc-image
|
||||||
|
:after erc)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp :tangle no
|
||||||
|
(use-package znc
|
||||||
|
:config
|
||||||
|
(setq znc-servers
|
||||||
|
`(("flinner.my.to" 6697 t ((main ,my/secret/znc/flinner.my.to/username
|
||||||
|
,my/secret/znc/flinner.my.to/secret))))))
|
||||||
|
(defun my/znc-all ()
|
||||||
|
"Connect to all ZNC networks. Accept incoming self signed certificates."
|
||||||
|
(interactive)
|
||||||
|
(let ((tls-checktrust nil)
|
||||||
|
(gnutls-verify-error nil))
|
||||||
|
(znc-all)))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** circe
|
||||||
|
*** Setup
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package circe
|
||||||
|
:preface
|
||||||
|
(defun my/circe/clear ()
|
||||||
|
(interactive)
|
||||||
|
(circe-command-CLEAR))
|
||||||
|
:config
|
||||||
|
(add-to-list 'circe-networks `("flinner's znc" :host "flinner.my.to" :port 6697
|
||||||
|
:tls t
|
||||||
|
;; :sasl-strict t
|
||||||
|
:nick ,my/secret/znc/flinner.my.to/username
|
||||||
|
;; :sasl-username ,my/secret/znc/flinner.my.to/sassl-username
|
||||||
|
;; :sasl-password ,my/secret/znc/flinner.my.to/secret
|
||||||
|
:pass ,my/secret/znc/flinner.my.to/secret
|
||||||
|
:user ,my/secret/znc/flinner.my.to/username
|
||||||
|
))
|
||||||
|
(setq circe-color-nicks-min-constrast-ratio 4.5
|
||||||
|
circe-color-nicks-everywhere t)
|
||||||
|
:hook (circe-channel-mode . enable-circe-color-nicks)
|
||||||
|
:custom
|
||||||
|
(circe-format-say "{nick:-16s} {body}")
|
||||||
|
;; :bind(("C-l" . my/circe/clear))
|
||||||
|
)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(setq
|
||||||
|
;; lui-time-stamp-position 'right-margin
|
||||||
|
lui-fill-type nil)
|
||||||
|
|
||||||
|
(add-hook 'lui-mode-hook 'my-lui-setup)
|
||||||
|
(defun my-lui-setup ()
|
||||||
|
(setq
|
||||||
|
fringes-outside-margins t
|
||||||
|
right-margin-width 5
|
||||||
|
word-wrap t
|
||||||
|
wrap-prefix " "))
|
||||||
|
#+end_src
|
||||||
|
a
|
||||||
|
|
||||||
|
*** znc stuff
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(defun circe-command-ZNC (what)
|
||||||
|
"Send a message to ZNC incorporated by user '*status'."
|
||||||
|
(circe-command-MSG "*status" what))
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Buffers and Windows
|
* Buffers and Windows
|
||||||
** Workspaces (Persepective
|
** Workspaces (Persepective
|
||||||
#+begin_src emacs-lisp :tangle no
|
#+begin_src emacs-lisp :tangle no
|
||||||
|
|
Loading…
Reference in New Issue