Compare commits

..

No commits in common. "0f8ec7b7392f8ce7d8bd9c4c0664e3ef1e15815e" and "f5a3b731fffbd6cfdd70a1ccf860392bb24571e2" have entirely different histories.

View File

@ -639,13 +639,6 @@
#+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.
@ -1209,7 +1202,9 @@
(use-package mu4e (use-package mu4e
:ensure nil :ensure nil
:if (and (file-exists-p "~/Maildir") :if (and (file-exists-p "~/Maildir")
(seq-every-p 'executable-find '("mbsync" "msmtp" "mu"))) (executable-find "mbsync")
(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
@ -1219,6 +1214,7 @@
(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")
@ -1228,19 +1224,6 @@
'(("/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)
@ -1249,6 +1232,34 @@
(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
@ -1782,20 +1793,26 @@
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). 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]].
#+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 slime-repl-history-size 1000) (setq lisp-loop-forms-indentation 6
(add-hook 'slime-repl-mode-hook lisp-simple-loop-indentation 2
(lambda () lisp-loop-keyword-indentation 6))
(local-set-key (kbd "C-l") 'slime-repl-clear-buffer))))
#+end_src #+end_src
@ -1920,14 +1937,6 @@
#+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.