diff options
author | Case Duckworth | 2020-11-21 23:24:59 -0600 |
---|---|---|
committer | Case Duckworth | 2020-11-21 23:24:59 -0600 |
commit | dbd3abcbd507c53b625377566ceb166ebbac1b81 (patch) | |
tree | 3ff54597d162c17b56d4dfbd0f85357d5a8cc367 | |
parent | full on bankruptcy (diff) | |
download | emacs-dbd3abcbd507c53b625377566ceb166ebbac1b81.tar.gz emacs-dbd3abcbd507c53b625377566ceb166ebbac1b81.zip |
Pulling myself ever-so-slowly out of the hole
-rw-r--r-- | config.org | 479 |
1 files changed, 447 insertions, 32 deletions
diff --git a/config.org b/config.org index 08a5418..01e5ac2 100644 --- a/config.org +++ b/config.org | |||
@@ -43,6 +43,8 @@ | |||
43 | (expand-file-name | 43 | (expand-file-name |
44 | (concat user-emacs-directory "config.org")))))) | 44 | (concat user-emacs-directory "config.org")))))) |
45 | 45 | ||
46 | (add-hook 'after-save-hook #'acdw/tangle-init) | ||
47 | |||
46 | (defun acdw/load-init () | 48 | (defun acdw/load-init () |
47 | (interactive) | 49 | (interactive) |
48 | (load-file (expand-file-name | 50 | (load-file (expand-file-name |
@@ -80,12 +82,55 @@ | |||
80 | (straight-use-package 'use-package) | 82 | (straight-use-package 'use-package) |
81 | #+end_src | 83 | #+end_src |
82 | 84 | ||
85 | * Macros | ||
86 | |||
87 | ** Customizing variables | ||
88 | |||
89 | #+begin_src emacs-lisp | ||
90 | (defmacro cuss (var val) | ||
91 | "Basically `use-package''s `:custom', but without using either." | ||
92 | `(progn | ||
93 | (funcall (or (get ',var 'custom-set) #'set-default) | ||
94 | ',var ,val))) | ||
95 | #+end_src | ||
96 | |||
83 | * Theme | 97 | * Theme |
84 | 98 | ||
85 | I want to try using the [[https://github.com/kunalb/poet][Poet]] theme. | 99 | I'm using the [[https://protesilaos.com/modus-themes/][Modus]] themes. |
86 | 100 | ||
87 | #+begin_src emacs-lisp | 101 | #+begin_src emacs-lisp |
88 | (use-package poet-theme) | 102 | (defmacro modus-themes-format-sexp (sexp &rest objects) |
103 | `(eval (read (format ,(format "%S" sexp) ,@objects)))) | ||
104 | |||
105 | (dolist (theme '("operandi" "vivendi")) | ||
106 | (modus-themes-format-sexp | ||
107 | (use-package modus-%1$s-theme | ||
108 | :init | ||
109 | (setq modus-%1$s-theme-slanted-constructs t | ||
110 | modus-%1$s-theme-bold-constructs t | ||
111 | modus-%1$s-theme-fringes 'subtle | ||
112 | modus-%1$s-theme-mode-line '3d | ||
113 | modus-%1$s-theme-syntax 'yellow-comments | ||
114 | modus-%1$s-theme-intense-hl-line nil | ||
115 | modus-%1$s-theme-intense-paren-match t | ||
116 | modus-%1$s-theme-links nil | ||
117 | modus-%1$s-theme-no-mixed-fonts nil | ||
118 | modus-%1$s-theme-prompts nil | ||
119 | modus-%1$s-theme-completions nil | ||
120 | modus-%1$s-theme-diffs nil | ||
121 | modus-%1$s-theme-org-blocks 'grayscale | ||
122 | modus-%1$s-theme-headings | ||
123 | '((1 . section) | ||
124 | (2 . line) | ||
125 | (t . rainbow-line-no-bold)) | ||
126 | modus-%1$s-theme-variable-pitch-headings nil | ||
127 | modus-%1$s-theme-scale-headings t | ||
128 | modus-%1$s-theme-scale-1 1.1 | ||
129 | modus-%1$s-theme-scale-2 1.15 | ||
130 | modus-%1$s-theme-scale-3 1.21 | ||
131 | modus-%1$s-theme-scale-4 1.27 | ||
132 | modus-%1$s-theme-scale-5 1.33)) | ||
133 | theme)) | ||
89 | #+end_src | 134 | #+end_src |
90 | 135 | ||
91 | I also want to switch themes between night and day. | 136 | I also want to switch themes between night and day. |
@@ -96,7 +141,7 @@ I also want to switch themes between night and day. | |||
96 | (calendar-latitude 30.39) | 141 | (calendar-latitude 30.39) |
97 | (calendar-longitude -91.83) | 142 | (calendar-longitude -91.83) |
98 | :config | 143 | :config |
99 | (change-theme 'poet 'poet-dark)) | 144 | (change-theme 'modus-operandi 'modus-vivendi)) |
100 | #+end_src | 145 | #+end_src |
101 | 146 | ||
102 | * Simplify GUI | 147 | * Simplify GUI |
@@ -109,32 +154,57 @@ I also want to switch themes between night and day. | |||
109 | (global-visual-line-mode 1) | 154 | (global-visual-line-mode 1) |
110 | #+end_src | 155 | #+end_src |
111 | 156 | ||
157 | ** Modeline | ||
158 | |||
159 | #+begin_src emacs-lisp | ||
160 | (use-package smart-mode-line | ||
161 | :custom | ||
162 | (sml/no-confirm-load-theme t) | ||
163 | :config | ||
164 | (sml/setup)) | ||
165 | |||
166 | (defun rm/whitelist-add (regexp) | ||
167 | "Add a REGEXP to the whitelist for `rich-minority'." | ||
168 | (if (listp 'rm--whitelist-regexps) | ||
169 | (add-to-list 'rm--whitelist-regexps regexp) | ||
170 | (setq rm--whitelist-regexps `(,regexp))) | ||
171 | (setq rm-whitelist | ||
172 | (mapconcat 'identity rm--whitelist-regexps "\\|"))) | ||
173 | |||
174 | (use-package rich-minority | ||
175 | :config | ||
176 | (rm/whitelist-add "^$")) | ||
177 | #+end_src | ||
178 | |||
112 | * Fonts | 179 | * Fonts |
113 | 180 | ||
114 | #+begin_src emacs-lisp | 181 | #+begin_src emacs-lisp |
115 | (require 'cl) | 182 | (require 'cl) |
116 | (defun font-candidate (&rest fonts) | 183 | (defun font-candidate (&rest fonts) |
117 | (loop for font in fonts | 184 | (loop for font in fonts |
118 | when (find-font (font-spec :name font)) | 185 | when (find-font (font-spec :name font)) |
119 | return font)) | 186 | return font)) |
120 | 187 | ||
121 | (set-face-attribute 'default nil | 188 | (set-face-attribute 'default nil |
122 | :font | 189 | :font |
123 | (font-candidate | 190 | (font-candidate |
124 | "Go Mono-11" | 191 | "Linux Libertine Mono O-11" |
125 | "Consolas-11")) | 192 | "Go Mono-11" |
193 | "Consolas-11")) | ||
126 | 194 | ||
127 | (set-face-attribute 'fixed-pitch nil | 195 | (set-face-attribute 'fixed-pitch nil |
128 | :font | 196 | :font |
129 | (font-candidate | 197 | (font-candidate |
130 | "Go Mono-11" | 198 | "Linux Libertine Mono O-11" |
131 | "Consolas-11")) | 199 | "Go Mono-11" |
200 | "Consolas-11")) | ||
132 | 201 | ||
133 | (set-face-attribute 'variable-pitch nil | 202 | (set-face-attribute 'variable-pitch nil |
134 | :font | 203 | :font |
135 | (font-candidate | 204 | (font-candidate |
136 | "Go-12" | 205 | "Linux Libertine O-12" |
137 | "Georgia-11")) | 206 | "Go-12" |
207 | "Georgia-11")) | ||
138 | #+end_src | 208 | #+end_src |
139 | 209 | ||
140 | ** Unicode | 210 | ** Unicode |
@@ -148,83 +218,428 @@ I also want to switch themes between night and day. | |||
148 | ** Variable pitch faces | 218 | ** Variable pitch faces |
149 | 219 | ||
150 | #+begin_src emacs-lisp | 220 | #+begin_src emacs-lisp |
151 | (add-hook 'text-mode-hook | 221 | (add-hook 'text-mode-hook #'variable-pitch-mode) |
152 | (lambda () | 222 | #+end_src |
153 | (variable-pitch-mode 1))) | ||
154 | #+end_ | ||
155 | 223 | ||
156 | * TODO Emacs configuration [meta] | 224 | * Emacs configuration [meta] |
157 | 225 | ||
158 | ** Keep =~/.emacs.d= tidy | 226 | ** Keep =~/.emacs.d= tidy |
159 | 227 | ||
228 | #+begin_src emacs-lisp | ||
229 | (straight-use-package 'no-littering) | ||
230 | (require 'no-littering) | ||
231 | #+end_src | ||
232 | |||
233 | ** Additional =use-package= keywords | ||
234 | |||
235 | *** =:custom-update= | ||
236 | |||
237 | #+begin_src emacs-lisp | ||
238 | (use-package use-package-custom-update | ||
239 | :straight (use-package-custom-update | ||
240 | :host github | ||
241 | :repo "a13/use-package-custom-update")) | ||
242 | #+end_src | ||
243 | |||
160 | * TODO Ease of use | 244 | * TODO Ease of use |
161 | 245 | ||
162 | ** Selectrum | 246 | ** Selectrum & Prescient |
247 | |||
248 | #+begin_src emacs-lisp | ||
249 | (use-package selectrum | ||
250 | :config | ||
251 | (selectrum-mode 1)) | ||
163 | 252 | ||
164 | ** Prescient | 253 | (use-package prescient |
254 | :config | ||
255 | (prescient-persist-mode 1)) | ||
256 | |||
257 | (use-package selectrum-prescient | ||
258 | :after (selectrum prescient) | ||
259 | :config | ||
260 | (selectrum-prescient-mode 1)) | ||
261 | #+end_src | ||
165 | 262 | ||
166 | ** CtrlF | 263 | ** CtrlF |
167 | 264 | ||
265 | #+begin_src emacs-lisp | ||
266 | (use-package ctrlf | ||
267 | :custom | ||
268 | (ctrlf-show-match-count-at-eol nil) | ||
269 | :config | ||
270 | (ctrlf-mode 1)) | ||
271 | #+end_src | ||
272 | |||
168 | ** Startup | 273 | ** Startup |
169 | 274 | ||
170 | ** Ignore case | 275 | #+begin_src emacs-lisp |
276 | (cuss inhibit-startup-buffer-menu t) | ||
277 | (cuss inhibit-startup-screen t) | ||
278 | (cuss initial-buffer-choice t) | ||
279 | (cuss initial-scratch-message ";; Hi there!\n") | ||
280 | #+end_src | ||
171 | 281 | ||
172 | * TODO Persistence | 282 | ** TODO Ignore case |
283 | |||
284 | * Persistence | ||
173 | 285 | ||
174 | ** Auto-saves | 286 | ** Auto-saves |
175 | 287 | ||
288 | #+begin_src emacs-lisp | ||
289 | (use-package super-save | ||
290 | :custom | ||
291 | (auto-save-default nil) | ||
292 | (super-save-exclue '(".gpg")) | ||
293 | :config | ||
294 | (super-save-mode 1)) | ||
295 | #+end_src | ||
296 | |||
176 | ** Backup files | 297 | ** Backup files |
177 | 298 | ||
299 | #+begin_src emacs-lisp | ||
300 | (cuss backup-directory-alist | ||
301 | `((".*" . ,(no-littering-expand-var-file-name "backup/")))) | ||
302 | #+end_src | ||
303 | |||
178 | ** Recent files | 304 | ** Recent files |
179 | 305 | ||
306 | #+begin_src emacs-lisp | ||
307 | (use-package recentf | ||
308 | :custom-update | ||
309 | (recentf-exclude | ||
310 | '(no-littering-var-directory | ||
311 | no-littering-etc-directory)) | ||
312 | :custom | ||
313 | (recentf-max-menu-items 100) | ||
314 | (recentf-max-saved-items 100) | ||
315 | :config | ||
316 | (recentf-mode 1)) | ||
317 | #+end_src | ||
318 | |||
180 | ** Save places in visited files | 319 | ** Save places in visited files |
181 | 320 | ||
321 | #+begin_src emacs-lisp | ||
322 | (use-package saveplace | ||
323 | :custom | ||
324 | (save-place-file (no-littering-expand-var-file-name "places")) | ||
325 | (save-place-forget-unreadable-files (not | ||
326 | (eq system-type 'windows-nt)) | ||
327 | :config | ||
328 | (save-place-mode 1))) | ||
329 | #+end_src | ||
330 | |||
182 | ** Save history | 331 | ** Save history |
183 | 332 | ||
333 | #+begin_src emacs-lisp | ||
334 | (use-package savehist | ||
335 | :custom | ||
336 | (savehist-additional-variables | ||
337 | '(kill-ring | ||
338 | search-ring | ||
339 | regexp-search-ring)) | ||
340 | (savehist-save-minibuffer-history t) | ||
341 | :config | ||
342 | (savehist-mode 1)) | ||
343 | #+end_src | ||
344 | |||
184 | ** Undo | 345 | ** Undo |
185 | 346 | ||
186 | * TODO General editing | 347 | #+begin_src emacs-lisp |
348 | (use-package undo-fu-session | ||
349 | :after (no-littering undo-fu) | ||
350 | :custom | ||
351 | (undo-fu-session-incompatible-files | ||
352 | '("COMMIT_EDITMSG\\'" | ||
353 | "/git-rebase-todo\\'")) | ||
354 | (undo-fu-session-directory | ||
355 | (no-littering-expand-var-file-name "undos/")) | ||
356 | :config | ||
357 | (global-undo-fu-session-mode 1)) | ||
358 | #+end_src | ||
359 | |||
360 | * General editing | ||
187 | 361 | ||
188 | ** Undo | 362 | ** Undo |
189 | 363 | ||
364 | #+begin_src emacs-lisp | ||
365 | (use-package undo-fu | ||
366 | :bind | ||
367 | ("C-/" . undo-fu-only-undo) | ||
368 | ("C-?" . undo-fu-only-redo)) | ||
369 | #+end_src | ||
370 | |||
190 | ** Find/replace | 371 | ** Find/replace |
191 | 372 | ||
192 | ** Expand region | 373 | #+begin_src emacs-lisp |
374 | (use-package visual-regexp | ||
375 | :bind | ||
376 | ("C-c r" . 'vr/replace) | ||
377 | ("C-c q" . 'vr/query-replace)) | ||
378 | #+end_src | ||
379 | |||
380 | ** Visual editing | ||
381 | |||
382 | *** Volatile highlights | ||
383 | |||
384 | #+begin_src emacs-lisp | ||
385 | (use-package volatile-highlights | ||
386 | :config | ||
387 | (volatile-highlights-mode 1)) | ||
388 | #+end_src | ||
389 | |||
390 | *** Expand region | ||
193 | 391 | ||
194 | * TODO Writing | 392 | #+begin_src emacs-lisp |
393 | (use-package expand-region | ||
394 | :bind | ||
395 | ("C-=" . er/expand-region) | ||
396 | ("C-+" . er/contract-region)) | ||
397 | #+end_src | ||
398 | |||
399 | * Writing | ||
195 | 400 | ||
196 | ** Word count | 401 | ** Word count |
197 | 402 | ||
403 | #+begin_src emacs-lisp | ||
404 | (use-package wc-mode | ||
405 | :config | ||
406 | (rm/whitelist-add "WC") | ||
407 | :hook text-mode) | ||
408 | #+end_src | ||
409 | |||
198 | ** Visual fill column mode | 410 | ** Visual fill column mode |
199 | 411 | ||
412 | #+begin_src emacs-lisp | ||
413 | (use-package visual-fill-column | ||
414 | :custom | ||
415 | (split-window-preferred-function | ||
416 | 'visual-fill-column-split-window-sensibly) | ||
417 | (visual-fill-column-center-text t) | ||
418 | (fill-column 80) | ||
419 | :config | ||
420 | (advice-add 'text-scale-adjust | ||
421 | :after #'visual-fill-column-adjust) | ||
422 | :hook | ||
423 | (text-mode . visual-fill-column-mode)) | ||
424 | #+end_src | ||
425 | |||
200 | ** Org mode | 426 | ** Org mode |
201 | 427 | ||
428 | #+begin_src emacs-lisp | ||
429 | (use-package org | ||
430 | :custom | ||
431 | (org-startup-indented t) | ||
432 | (org-src-tab-acts-natively t) | ||
433 | (org-hide-emphasis-markers t) | ||
434 | (org-fontify-done-headline t) | ||
435 | (org-hide-leading-stars t) | ||
436 | (org-pretty-entities t)) | ||
437 | #+end_src | ||
438 | |||
202 | * TODO Coding | 439 | * TODO Coding |
203 | 440 | ||
441 | ** Indenting | ||
442 | |||
443 | #+begin_src emacs-lisp | ||
444 | (use-package aggressive-indent | ||
445 | :config | ||
446 | (global-aggressive-indent-mode 1)) | ||
447 | #+end_src | ||
448 | |||
204 | ** Display | 449 | ** Display |
205 | 450 | ||
206 | *** Prettify symbols mode | 451 | *** Prettify symbols mode |
207 | 452 | ||
453 | #+begin_src emacs-lisp | ||
454 | (add-hook 'prog-mode-hook #'prettify-symbols-mode) | ||
455 | #+end_src | ||
456 | |||
208 | *** Parentheses and frens | 457 | *** Parentheses and frens |
209 | 458 | ||
459 | **** =show-paren-style= | ||
460 | |||
461 | #+begin_src emacs-lisp | ||
462 | (cuss show-paren-style 'mixed) | ||
463 | (show-paren-mode 1) | ||
464 | #+end_src | ||
465 | |||
466 | **** Smartparens | ||
467 | |||
468 | #+begin_src emacs-lisp | ||
469 | (use-package smartparens | ||
470 | :init | ||
471 | (defun acdw/setup-smartparens () | ||
472 | (require 'smartparens-config) | ||
473 | (smartparens-mode 1)) | ||
474 | :hook | ||
475 | (prog-mode . acdw/setup-smartparens)) | ||
476 | #+end_src | ||
477 | |||
478 | **** Rainbow delimiters | ||
479 | |||
480 | #+begin_src emacs-lisp | ||
481 | (use-package rainbow-delimiters | ||
482 | :hook (prog-mode . rainbow-delimiters-mode)) | ||
483 | #+end_src | ||
484 | |||
210 | *** Line numbers | 485 | *** Line numbers |
211 | 486 | ||
487 | #+begin_src emacs-lisp | ||
488 | (defun acdw/enable-line-numbers () | ||
489 | "Enable line numbers, either through `display-line-numbers-mode' | ||
490 | or through `linum-mode'." | ||
491 | (if (and (fboundp 'display-line-numbers-mode) | ||
492 | (display-graphic-p)) | ||
493 | (display-line-numbers-mode 1) | ||
494 | (linum-mode 1))) | ||
495 | |||
496 | (add-hook 'prog-mode-hook #'acdw/enable-line-numbers) | ||
497 | #+end_src | ||
498 | |||
212 | ** Git | 499 | ** Git |
213 | 500 | ||
501 | #+begin_src emacs-lisp | ||
502 | (use-package magit | ||
503 | :bind | ||
504 | ("C-x g" . magit-status) | ||
505 | :custom-update | ||
506 | (magit-no-confirm '(stage-all-changes))) | ||
507 | #+end_src | ||
508 | |||
509 | *** Hook into =prescient= | ||
510 | |||
511 | #+begin_src emacs-lisp | ||
512 | (define-advice magit-list-refs | ||
513 | (:around (orig &optional namespaces format sortby) | ||
514 | prescient-sort) | ||
515 | "Apply prescient sorting when listing refs." | ||
516 | (let ((res (funcall orig namespaces format sortby))) | ||
517 | (if (or sortby | ||
518 | magit-list-refs-sortby | ||
519 | (not selectrum-should-sort-p)) | ||
520 | res | ||
521 | (prescient-sort res)))) | ||
522 | #+end_src | ||
523 | |||
524 | *** Use =libgit= when I can build it (requires =cmake=) | ||
525 | |||
526 | #+begin_src emacs-lisp | ||
527 | (when (executable-find "cmake") | ||
528 | (use-package libgit) | ||
529 | (use-package magit-libgit)) | ||
530 | #+end_src | ||
531 | |||
532 | *** Git "forge" capabilities | ||
533 | |||
534 | #+begin_src emacs-lisp | ||
535 | (use-package forge | ||
536 | :after magit | ||
537 | :custom | ||
538 | (forge-owned-accounts | ||
539 | '(("duckwork")))) | ||
540 | #+end_src | ||
541 | |||
214 | ** Programming languages | 542 | ** Programming languages |
215 | 543 | ||
216 | *** Shell | 544 | *** Fish shell |
545 | |||
546 | #+begin_src emacs-lisp | ||
547 | (use-package fish-mode) | ||
548 | #+end_src | ||
549 | |||
550 | *** Lisps | ||
217 | 551 | ||
218 | *** Lisp | 552 | **** SLIME |
219 | 553 | ||
220 | *** Fennel | 554 | #+begin_src emacs-lisp |
555 | (use-package slime | ||
556 | :when (executable-find "sbcl") | ||
557 | :custom | ||
558 | (inferior-lisp-program "sbcl") | ||
559 | (slime-contribs '(slime-fancy))) | ||
560 | #+end_src | ||
561 | |||
562 | **** Fennel | ||
563 | |||
564 | #+begin_src emacs-lisp | ||
565 | (use-package fennel-mode | ||
566 | :mode "\\.fnl\\'") | ||
567 | #+end_src | ||
221 | 568 | ||
222 | *** Lua | 569 | *** Lua |
223 | 570 | ||
571 | #+begin_src emacs-lisp | ||
572 | (use-package lua-mode | ||
573 | :mode "\\.lua\\'" | ||
574 | :interpreter "lua") | ||
575 | #+end_src | ||
576 | |||
224 | *** Web (HTML/CSS/JS) | 577 | *** Web (HTML/CSS/JS) |
225 | 578 | ||
579 | #+begin_src emacs-lisp | ||
580 | (use-package web-mode | ||
581 | :mode (("\\.ts\\'" . web-mode) | ||
582 | ("\\.html?\\'" . web-mode) | ||
583 | ("\\.css?\\'" . web-mode) | ||
584 | ("\\.js\\'" . web-mode))) | ||
585 | #+end_src | ||
586 | |||
587 | *** =~/.ssh/config= | ||
588 | |||
589 | #+begin_src emacs-lisp | ||
590 | (use-package ssh-config-mode) | ||
591 | #+end_src | ||
592 | |||
226 | * Applications | 593 | * Applications |
227 | 594 | ||
228 | ** Elpher | 595 | ** Elpher |
229 | 596 | ||
597 | #+BEGIN_SRC emacs-lisp | ||
598 | (use-package elpher | ||
599 | :straight (elpher | ||
600 | :repo "git://thelambdalab.xyz/elpher.git") | ||
601 | :custom | ||
602 | (elpher-certificate-directory | ||
603 | (no-littering-expand-var-file-name "elpher-certificates/")) | ||
604 | (elpher-ipv4-always t) | ||
605 | :config | ||
606 | (defun elpher:eww-browse-url (original url &optional new-window) | ||
607 | "Handle gemini/gopher links with eww." | ||
608 | (cond ((string-match-p "\\`\\(gemini\\|gopher\\)://" url) | ||
609 | (require 'elpher) | ||
610 | (elpher-go url)) | ||
611 | (t (funcall original url new-window)))) | ||
612 | (advice-add 'eww-browse-url :around 'elpher:eww-browse-url) | ||
613 | :bind (:map elpher-mode-map | ||
614 | ("n" . elpher-next-link) | ||
615 | ("p" . elpher-prev-link) | ||
616 | ("o" . elpher-follow-current-link) | ||
617 | ("G" . elpher-go-current)) | ||
618 | :hook | ||
619 | (elpher-mode . visual-fill-column-mode)) | ||
620 | |||
621 | (use-package gemini-mode | ||
622 | :straight (gemini-mode | ||
623 | :repo "https://git.carcosa.net/jmcbray/gemini.el.git") | ||
624 | :mode "\\.\\(gemini|gmi\\)\\'" | ||
625 | :hook | ||
626 | (gemini-mode . visual-fill-column-mode)) | ||
627 | |||
628 | (use-package gemini-write | ||
629 | :straight (gemini-write | ||
630 | :repo "https://alexschroeder.ch/cgit/gemini-write") | ||
631 | :config | ||
632 | (add-to-list 'elpher-gemini-tokens '("gem.acdw.net" . "yellow-people-eater"))) | ||
633 | |||
634 | (use-package post-to-gemlog-blue | ||
635 | :straight (post-to-gemlog-blue | ||
636 | :repo "https://git.sr.ht/~acdw/post-to-gemlog-blue.el")) | ||
637 | #+END_SRC | ||
638 | |||
230 | ** Pastebin (0x0) | 639 | ** Pastebin (0x0) |
640 | |||
641 | #+BEGIN_SRC emacs-lisp | ||
642 | (use-package 0x0 | ||
643 | :custom | ||
644 | (0x0-default-service 'ttm)) | ||
645 | #+END_SRC | ||