|
@@ -27,7 +27,7 @@ to fonts and performance suffers, so we have Fira Mono to fall back on.
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
|
(setq doom-font (font-spec :family "FuraCode Nerd Font Mono" :size 12)
|
|
|
doom-big-font (font-spec :family "FuraCode Nerd Font Mono" :size 17)
|
|
|
- doom-variable-pitch-font (font-spec :family "Noto Serif" :size 12)
|
|
|
+ doom-variable-pitch-font (font-spec :family "Noto Serif" :size 14)
|
|
|
doom-serif-font (font-spec :family "FuraCode Nerd Font Mono")
|
|
|
doom-theme 'srcery)
|
|
|
#+END_SRC
|
|
@@ -52,6 +52,13 @@ I need to figure out what this does, hence the task below.
|
|
|
(after! dash (dash-enable-font-lock))
|
|
|
#+END_SRC
|
|
|
*** TODO Figure out what dash highlighting is all about
|
|
|
+** Fringe
|
|
|
+#+BEGIN_SRC emacs-lisp
|
|
|
+(nyan-mode) ;; progress in the form of a rainbow cat.
|
|
|
+(beacon-mode) ;; show me the cursor!
|
|
|
+(add-hook 'after-init-hook #'global-emojify-mode) ;; emojis?!
|
|
|
+(add-hook 'prog-mode-hook #'goto-address-mode) ;; linify links!
|
|
|
+#+END_SRC
|
|
|
* Keybindings
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
|
(map! ;; Easier window movement
|
|
@@ -68,10 +75,7 @@ I need to figure out what this does, hence the task below.
|
|
|
(:prefix "f"
|
|
|
:desc "Find file in dotfiles" "t" #'+hlissner/find-in-dotfiles
|
|
|
:desc "Browse dotfiles" "T" #'+hlissner/browse-dotfiles)
|
|
|
- (:prefix "t"
|
|
|
- :desc "Switch themes" "t" #'load-theme)
|
|
|
(:prefix "o"
|
|
|
- :desc "Elfeed feed reader" "f" #'elfeed
|
|
|
:desc "Hckrnews" "h" #'hackernews
|
|
|
:desc "Lobste.rs" "l" #'ivy-lobsters)
|
|
|
(:prefix "b"
|
|
@@ -79,7 +83,6 @@ I need to figure out what this does, hence the task below.
|
|
|
:desc "isort buffer" "I" #'py-isort-buffer
|
|
|
:desc "Links in buffer" "l" #'ace-link-org)
|
|
|
(:prefix "s"
|
|
|
- :desc "Search project TODOs" "t" #'+ivy/tasks
|
|
|
:desc "Search the web" "w" #'web-search
|
|
|
:desc "Goto URL in eww" "u" #'eww-browse-url
|
|
|
:desc "Search in eww" "3" #'eww-search-words
|
|
@@ -113,10 +116,7 @@ Eglot versus LSP? Until 27 lands stable, Eglot wins. I can actually read all
|
|
|
it's source.
|
|
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
|
-;; app/eglot
|
|
|
-;; Back to eglot ...
|
|
|
-(add-hook 'foo-mode-hook 'eglot-ensure)
|
|
|
-
|
|
|
+(add-hook 'foo-mode-hook 'eglot-ensure) ;; back to eglot
|
|
|
#+END_SRC
|
|
|
* Music
|
|
|
Right now, just make sure I can connect to my local Mopidy server via MPDel.
|
|
@@ -166,10 +166,8 @@ Right now, just make sure I can connect to my local Mopidy server via MPDel.
|
|
|
:desc "Open Elfeed" "o" #'elfeed
|
|
|
:desc "Update Elfeed" "u" #'elfeed-update))
|
|
|
#+END_SRC
|
|
|
-* Niceties
|
|
|
+* Formatting
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
|
-(add-hook 'prog-mode-hook #'goto-address-mode) ;; Linkify links!
|
|
|
-
|
|
|
;;; It is the opposite of fill-paragraph
|
|
|
(defun unfill-paragraph ()
|
|
|
"Takes a multi-line paragraph and makes it into a single line of text."
|
|
@@ -181,23 +179,15 @@ Right now, just make sure I can connect to my local Mopidy server via MPDel.
|
|
|
(define-key global-map "\M-z" 'unfill-paragraph)
|
|
|
#+END_SRC
|
|
|
|
|
|
-Helpful modes to make working less painful.
|
|
|
-#+BEGIN_SRC emacs-lisp
|
|
|
-;; A rainbow cat, why not?
|
|
|
-(nyan-mode)
|
|
|
-
|
|
|
-;; Show the cursor when we make jumps, I'm too old for this shit.
|
|
|
-(beacon-mode)
|
|
|
-
|
|
|
-#+END_SRC
|
|
|
-
|
|
|
+PlantUML is pretty fantastic. This enables a mode for editing plantUML files in
|
|
|
+Emacs.
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
|
-;; Emojis, fuck me.
|
|
|
-(add-hook 'after-init-hook #'global-emojify-mode)
|
|
|
-
|
|
|
;; PlantUML is awesome for quick diagrams
|
|
|
(add-to-list 'auto-mode-alist '("\\.plantuml\\'" . plantuml-mode))
|
|
|
+#+END_SRC
|
|
|
|
|
|
+Handy clock to look up what timezone my co-workers are in!
|
|
|
+#+BEGIN_SRC emacs-lisp
|
|
|
;; Timezone location strings at http://worldtime.io
|
|
|
(setq display-time-world-list '(("America/Los_Angeles" "San Francisco")
|
|
|
("America/Tegucigalpa" "Tegucigalpa")
|
|
@@ -209,9 +199,9 @@ Helpful modes to make working less painful.
|
|
|
#+END_SRC
|
|
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
|
-(setq +workspaces-switch-project-function #'ignore
|
|
|
- +format-on-save-enabled-modes '(python-mode)
|
|
|
- +pretty-code-enabled-modes '(emacs-lisp-mode org-mode))
|
|
|
+;(setq +workspaces-switch-project-function #'ignore
|
|
|
+; +format-on-save-enabled-modes '(python-mode)
|
|
|
+; +pretty-code-enabled-modes '(emacs-lisp-mode org-mode))
|
|
|
#+END_SRC
|
|
|
* Org-mode
|
|
|
** Basic configuration
|
|
@@ -380,22 +370,42 @@ Reading novels in Emacs, how novel!
|
|
|
(add-hook 'nov-post-html-render-hook 'my-nov-post-html-render-hook)
|
|
|
(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))
|
|
|
|
|
|
-(defun my-nov-font-setup ()
|
|
|
- (face-remap-add-relative 'variable-pitch :family "Noto Serif"
|
|
|
- :size 20
|
|
|
- :height 1.0))
|
|
|
-(add-hook 'nov-mode-hook 'my-nov-font-setup)
|
|
|
+(add-hook 'nov-mode-hook 'variable-pitch-mode)
|
|
|
#+END_SRC
|
|
|
|
|
|
* Mail
|
|
|
+** Basics
|
|
|
I use notmuch to read and write email from within Emacs.
|
|
|
-
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
|
-(load! "+mail") ;; Mail stuff
|
|
|
-
|
|
|
-;; Use word wrap in text emails, because most people suck
|
|
|
-(remove-hook 'text-mode-hook #'auto-fill-mode)
|
|
|
-(add-hook 'message-mode-hook #'word-wrap-mode)
|
|
|
+;(load! "+mail") ;; Mail stuff
|
|
|
+
|
|
|
+; Use w3m to parse HTML email
|
|
|
+(setq mm-text-html-renderer 'w3m)
|
|
|
+(setq w3m-fill-column 72)
|
|
|
+
|
|
|
+; Kill email message buffers when you close them
|
|
|
+(setq message-kill-buffer-on-exit t)
|
|
|
+(setq message-auto-save-directory "~/Mail/colin@unbl.ink/Drafts/")
|
|
|
+(setq message-directory "~/Mail/colin@unbl.ink/")
|
|
|
+
|
|
|
+;;; Setup sending email with msmtp
|
|
|
+(setq send-mail-function 'sendmail-send-it
|
|
|
+ sendmail-program "/usr/local/bin/msmtp"
|
|
|
+ smtpmail-queue-mail t
|
|
|
+ mail-specify-envelope-from t
|
|
|
+ message-sendmail-f-is-evil t
|
|
|
+ message-sendmail-envelope-from 'header
|
|
|
+ message-sendmail-extra-arguments '("--read-envelope-from")
|
|
|
+ mail-envelope-from 'header)
|
|
|
+#+END_SRC
|
|
|
+** Keybindings
|
|
|
+#+BEGIN_SRC emacs-lisp
|
|
|
+(map! :leader
|
|
|
+ (:prefix "e"
|
|
|
+ :desc "(s)end queued mail" "s" #'smtpmail-send-queued-mail
|
|
|
+ :desc "Open (i)nbox" "i" #'=notmuch
|
|
|
+ :desc "Open (n)otmuch" "n" #'notmuch
|
|
|
+ :desc "(C)ompose mail" "c" #'notmuch-mua-new-mail))
|
|
|
#+END_SRC
|
|
|
|
|
|
* Eshell
|
|
@@ -407,10 +417,11 @@ Handful of fun aliases to make working in Eshell almost like a /real/ shell :smi
|
|
|
"f" "(other-window 1) && find-file $1"
|
|
|
"l" "ls -lh"
|
|
|
"d" "dired $1"
|
|
|
- "dc" "docker-compose $*"
|
|
|
- "fftest" "cd ~/src/ff/fifteen5 && docker-compose exec app django-admin test -k $*"
|
|
|
- "ffsh" "cd ~/src/ff/fifteen5/ && docker-compose exec app django-admin shell_plus"
|
|
|
- "ffdj" "cd ~/src/ff/fifteen5/ && docker-compose exec app django-admin $*"
|
|
|
+ "ff" "cd ~/src/ff/fifteen5"
|
|
|
+ "djtest" "cd ~/src/ff/fifteen5 & django-admin test -k $*"
|
|
|
+ "djsh" "cd ~/src/ff/fifteen5/ & django-admin shell_plus"
|
|
|
+ "djrun" "cd ~/src/ff/fifteen5/ & django-admin runserver_plus"
|
|
|
+ "dj" "cd ~/src/ff/fifteen5/ & django-admin $*"
|
|
|
"gl" "(call-interactively 'magit-log-current)"
|
|
|
"gs" "magit-status"
|
|
|
"gc" "magit-commit"))
|