Compare commits

..

5 Commits

Author SHA1 Message Date
0f8ec7b739 Add elm support 2026-02-28 15:21:46 +01:00
cf148f434a Revive common lisp setup 2026-02-28 15:20:56 +01:00
2b6ae38dd2 Drop org-msg 2026-02-28 15:20:29 +01:00
89259b3107 Make mu4e ignore noisy email 2026-02-28 15:19:05 +01:00
d5da822a85 Change the meta key on linux 2026-02-28 15:17:45 +01:00

View File

@ -639,6 +639,13 @@
#+end_src
* Linux
#+begin_src emacs-lisp
(setq x-meta-keysym 'super)
(setq x-super-keysym 'meta)
#+end_src
* Modes
Here are a list of modes that I prefer enable by default.
@ -1202,9 +1209,7 @@
(use-package mu4e
:ensure nil
:if (and (file-exists-p "~/Maildir")
(executable-find "mbsync")
(executable-find "msmtp")
(executable-find "mu"))
(seq-every-p 'executable-find '("mbsync" "msmtp" "mu")))
:bind (:map custom-bindings-map ("C-x m" . mu4e))
:config
@ -1214,7 +1219,6 @@
(setq mu4e-change-filenames-when-moving t)
(setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a"))
(setq mu4e-maildir "~/Maildir")
(setq mu4e-use-fancy-chars t)
(setq mu4e-drafts-folder "/uio/Drafts")
(setq mu4e-sent-folder "/uio/Sent Items")
@ -1224,6 +1228,19 @@
'(("/uio/Inbox" . ?i)
("/uio/Sent Items" . ?s)))
(let* ((inspera-noise " AND NOT maildir:\"/uio/Inspera varsling\"")
(devilry-noise " AND NOT maildir:/uio/Devilry")
(general-noise " AND NOT maildir:\"/uio/Junk Email\"")
(noise-filter (concat inspera-noise devilry-noise general-noise)))
(setq mu4e-bookmarks
`(( :name "Unread messages" :key ?u
:query ,(concat "flag:unread" noise-filter))
( :name "Today's messages" :key ?t
:query ,(concat "date:today..now" noise-filter) )
( :name "Last 7 days" :key ?w
:query ,(concat "date:7d..now" noise-filter)))))
(setq sendmail-program (executable-find "msmtp"))
(setq send-mail-function 'smtpmail-send-it)
(setq message-sendmail-f-is-evil t)
@ -1232,34 +1249,6 @@
(setq message-kill-buffer-on-exit t))
#+end_src
** Email with org mode
The package org-msg allows me to compose emails with Org mode. That means I
easily can add headings, tables, source code, etc. It is really neat.
#+begin_src emacs-lisp
;; Org mode to send and reply to email in HTML
(use-package org-msg
:after (org mu4e)
:config
(add-to-list 'mu4e-compose-pre-hook 'org-msg-mode)
(setq org-msg-enforce-css (concat user-emacs-directory "email-style.css")
org-msg-options "html-postamble:nil toc:nil num:nil author:nil email:nil"
org-msg-default-alternatives '((new . (text html))
(reply-to-html . (text html))
(reply-to-text . (text)))
org-msg-signature "
,#+begin_signature
,#+begin_export html
- Lars
,#+end_export
,#+end_signature\n"))
#+end_src
* LLM
The ChatGPT client [[https://github.com/karthink/gptel][gptel]] needs an API key from the OpenAI API. This key can
@ -1793,26 +1782,20 @@
developer. You can install the Common Lisp slime counterpart using
[[http://www.quicklisp.org/beta/][Quicklisp]], creating a helper that can be loaded.
We can specify what Common Lisp program Slime should use (I use SBCL). More
sensible =loop= indentation is borrowed from [[https://github.com/simenheg][simenheg]].
We can specify what Common Lisp program Slime should use (I use SBCL).
#+begin_src emacs-lisp
;; Superior Lisp Interaction Mode for Emacs
(use-package slime
:disabled
:defer t
:bind (:map slime-repl-mode-map ("C-l" . slime-repl-clear-buffer))
:hook (common-lisp-mode . activate-slime-helper)
:config
(when (file-exists-p "~/.quicklisp/slime-helper.el")
(load (expand-file-name "~/.quicklisp/slime-helper.el")))
(setq inferior-lisp-program "sbcl")
(setq lisp-loop-forms-indentation 6
lisp-simple-loop-indentation 2
lisp-loop-keyword-indentation 6))
(setq slime-contribs '(slime-fancy slime-repl))
(setq slime-repl-history-size 1000)
(add-hook 'slime-repl-mode-hook
(lambda ()
(local-set-key (kbd "C-l") 'slime-repl-clear-buffer))))
#+end_src
@ -1937,6 +1920,14 @@
#+end_src
** Elm
#+begin_src emacs-lisp
(use-package elm-mode)
#+end_src
** Maude
Use =---= for comments in Maude.