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 #+end_src
* Linux
#+begin_src emacs-lisp
(setq x-meta-keysym 'super)
(setq x-super-keysym 'meta)
#+end_src
* Modes * Modes
Here are a list of modes that I prefer enable by default. Here are a list of modes that I prefer enable by default.
@ -1202,9 +1209,7 @@
(use-package mu4e (use-package mu4e
:ensure nil :ensure nil
:if (and (file-exists-p "~/Maildir") :if (and (file-exists-p "~/Maildir")
(executable-find "mbsync") (seq-every-p 'executable-find '("mbsync" "msmtp" "mu")))
(executable-find "msmtp")
(executable-find "mu"))
:bind (:map custom-bindings-map ("C-x m" . mu4e)) :bind (:map custom-bindings-map ("C-x m" . mu4e))
:config :config
@ -1214,7 +1219,6 @@
(setq mu4e-change-filenames-when-moving t) (setq mu4e-change-filenames-when-moving t)
(setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a")) (setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a"))
(setq mu4e-maildir "~/Maildir")
(setq mu4e-use-fancy-chars t) (setq mu4e-use-fancy-chars t)
(setq mu4e-drafts-folder "/uio/Drafts") (setq mu4e-drafts-folder "/uio/Drafts")
(setq mu4e-sent-folder "/uio/Sent Items") (setq mu4e-sent-folder "/uio/Sent Items")
@ -1224,6 +1228,19 @@
'(("/uio/Inbox" . ?i) '(("/uio/Inbox" . ?i)
("/uio/Sent Items" . ?s))) ("/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 sendmail-program (executable-find "msmtp"))
(setq send-mail-function 'smtpmail-send-it) (setq send-mail-function 'smtpmail-send-it)
(setq message-sendmail-f-is-evil t) (setq message-sendmail-f-is-evil t)
@ -1232,34 +1249,6 @@
(setq message-kill-buffer-on-exit t)) (setq message-kill-buffer-on-exit t))
#+end_src #+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 * LLM
The ChatGPT client [[https://github.com/karthink/gptel][gptel]] needs an API key from the OpenAI API. This key can 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 developer. You can install the Common Lisp slime counterpart using
[[http://www.quicklisp.org/beta/][Quicklisp]], creating a helper that can be loaded. [[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 We can specify what Common Lisp program Slime should use (I use SBCL).
sensible =loop= indentation is borrowed from [[https://github.com/simenheg][simenheg]].
#+begin_src emacs-lisp #+begin_src emacs-lisp
;; Superior Lisp Interaction Mode for Emacs ;; Superior Lisp Interaction Mode for Emacs
(use-package slime (use-package slime
:disabled
:defer t :defer t
:bind (:map slime-repl-mode-map ("C-l" . slime-repl-clear-buffer))
:hook (common-lisp-mode . activate-slime-helper)
:config :config
(when (file-exists-p "~/.quicklisp/slime-helper.el")
(load (expand-file-name "~/.quicklisp/slime-helper.el")))
(setq inferior-lisp-program "sbcl") (setq inferior-lisp-program "sbcl")
(setq slime-contribs '(slime-fancy slime-repl))
(setq lisp-loop-forms-indentation 6 (setq slime-repl-history-size 1000)
lisp-simple-loop-indentation 2 (add-hook 'slime-repl-mode-hook
lisp-loop-keyword-indentation 6)) (lambda ()
(local-set-key (kbd "C-l") 'slime-repl-clear-buffer))))
#+end_src #+end_src
@ -1937,6 +1920,14 @@
#+end_src #+end_src
** Elm
#+begin_src emacs-lisp
(use-package elm-mode)
#+end_src
** Maude ** Maude
Use =---= for comments in Maude. Use =---= for comments in Maude.