X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/blobdiff_plain/ba45b932ef7d0624002a4abec1894a9c0ad9ce91..3b42314a35ce6e498faa5cdec76463197a38f045:/.emacs.d/init.el?ds=sidebyside diff --git a/.emacs.d/init.el b/.emacs.d/init.el index fa18238..6ef2748 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -17,9 +17,9 @@ ;;; Commentary: -;; Emacs configuration of Amin Bandali, computer scientist, functional -;; programmer, and free software activist. Uses straight.el for -;; purely functional and fully reproducible package management. +;; Emacs configuration of Amin Bandali, computer scientist, free +;; software activist, GNU maintainer & webmaster. Uses straight.el +;; for purely functional and fully reproducible package management. ;; Over the years, I've taken inspiration from configurations of many ;; great people. Some that I can remember off the top of my head are: @@ -266,8 +266,8 @@ (previous-line) (insert "\n \n;;; ")) -(defvar b/fill-column 47 - "My custom `fill-column'.") +;; (defvar b/fill-column 47 +;; "My custom `fill-column'.") (defconst b/asterism "* * *") @@ -277,7 +277,7 @@ (insert (concat "\n\n" - (make-string (floor (/ (- b/fill-column (length b/asterism)) 2)) + (make-string (floor (/ (- fill-column (length b/asterism)) 2)) ?\s) b/asterism "\n\n"))) @@ -313,9 +313,7 @@ For disabling the behaviour for certain buffers and/or modes." scroll-conservatively 10 scroll-preserve-screen-position 1 ;; focus follows mouse - mouse-autoselect-window t - ;; custom fill-column - fill-column b/fill-column) + mouse-autoselect-window t) (setq-default ;; always use space for indentation @@ -1328,7 +1326,8 @@ This function is intended for use with `ivy-ignore-buffers'." (use-feature text-mode :bind (:map text-mode-map ("C-*" . b/insert-asterism)) - :hook (text-mode . indicate-buffer-boundaries-left)) + :hook ((text-mode . indicate-buffer-boundaries-left) + (text-mode . flyspell-mode))) (use-feature conf-mode :mode "\\.*rc$") @@ -1417,7 +1416,21 @@ This function is intended for use with `ivy-ignore-buffers'." (use-package alloy-mode :straight (:host github :repo "dwwmmn/alloy-mode") :mode "\\.als\\'" - :config (setq alloy-basic-offset 2) + :config + (setq alloy-basic-offset 2) + ;; (defun b/alloy-simple-indent (start end) + ;; (interactive "r") + ;; ;; (if (region-active-p) + ;; ;; (indent-rigidly start end alloy-basic-offset) + ;; ;; (if (bolp) + ;; ;; (indent-rigidly (line-beginning-position) + ;; ;; (line-end-position) + ;; ;; alloy-basic-offset))) + ;; (indent-to (+ (current-column) alloy-basic-offset))) + :bind (:map alloy-mode-map + ("RET" . electric-newline-and-maybe-indent) + ;; ("TAB" . b/alloy-simple-indent) + ("TAB" . indent-for-tab-command)) :hook (alloy-mode . (lambda () (setq-local indent-tabs-mode nil)))) (eval-when-compile (defvar lean-mode-map)) @@ -1476,7 +1489,9 @@ This function is intended for use with `ivy-ignore-buffers'." (b/setq-every 2 web-mode-code-indent-offset web-mode-css-indent-offset - web-mode-markup-indent-offset)) + web-mode-markup-indent-offset) + :custom + (web-mode-enable-auto-indentation nil)) (use-package emmet-mode :after (:any web-mode css-mode sgml-mode) @@ -2001,7 +2016,12 @@ This function is intended for use with `ivy-ignore-buffers'." (lambda () (interactive) (setq debbugs-gnu-current-suppress t) - (debbugs-gnu debbugs-gnu-default-severities '("gnuzilla")))))) + (debbugs-gnu debbugs-gnu-default-severities '("gnuzilla")))) + ("C-c D G" . + (lambda () + (interactive) + (setq debbugs-gnu-current-suppress t) + (debbugs-gnu debbugs-gnu-default-severities '("guix")))))) (use-package org-ref :init @@ -2149,6 +2169,12 @@ This function is intended for use with `ivy-ignore-buffers'." :custom (debpaste-paste-is-hidden t)) +(use-package scpaste + :disabled + :config + (setq scpaste-http-destination "https://p.bndl.org" + scpaste-scp-destination "nix:/var/www/p.bndl.org")) + ;;; Email (with Gnus) @@ -2191,6 +2217,8 @@ This function is intended for use with `ivy-ignore-buffers'." (list ".*<\\(.*\\)\\.\\(non\\)?gnu\\.org>.*" "l.\\1") ;; gnus (list ".*<\\(.*\\)\\.gnus\\.org>.*" "l.\\1") + ;; libreplanet + (list ".*<\\(.*\\)\\.libreplanet\\.org>.*" "l.\\1") ;; *.lists.sr.ht, omitting one dot if present ;; add more \\.?\\([^.]*\\) if needed (list ".*<~\\(.*\\)/\\([^.]*\\)\\.?\\([^.]*\\)\\.lists.sr.ht>.*" "l.~\\1.\\2\\3") @@ -2363,7 +2391,7 @@ This function is intended for use with `ivy-ignore-buffers'." (to-list . "webmasters@gnu.org")) ("gnu.*" (gcc-self . t)) - ("gnu\\." + ("l\\." (subscribed . t)) ("nnimap\\+uw:.*" (gcc-self . t))) @@ -2456,10 +2484,6 @@ This function is intended for use with `ivy-ignore-buffers'." (use-feature gnus-msg :config - (defvar b/gnu-signature "Amin Bandali -Free Software Activist | GNU Maintainer & Webmaster -GPG: BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103 -https://bandali.eu.org") (defvar b/shemshak-signature "Amin Bandali https://shemshak.org/~amin") (defvar b/uw-signature "Amin Bandali, MMath Student @@ -2473,8 +2497,7 @@ https://csclub.uwaterloo.ca/~abandali") (setq gnus-message-replysign t gnus-posting-styles '((".*" - (address "bandali@gnu.org") - (signature b/gnu-signature)) + (address "bandali@gnu.org")) ("nnimap\\+gnu:l\\..*" (signature nil)) ((header "subject" "ThankCRM") @@ -2497,8 +2520,9 @@ https://csclub.uwaterloo.ca/~abandali") (address "bandali@csclub.uwaterloo.ca") (signature b/csc-signature) (gcc "nnimap+csc:Sent")))) - ;; :hook (gnus-message-setup . mml-secure-message-sign) - ) + :hook (gnus-message-setup . (lambda () + (unless (mml-secure-is-encrypted-p) + (mml-secure-message-sign))))) (use-feature gnus-topic :hook (gnus-group-mode . gnus-topic-mode) @@ -2536,6 +2560,8 @@ https://csclub.uwaterloo.ca/~abandali") mm-verify-option 'known)) (use-feature mm-uu + :config + (set-face-attribute 'mm-uu-extract nil :extend t) :custom (mm-uu-diff-groups-regexp "\\(gmane\\|gnu\\|l\\)\\..*\\(diff\\|commit\\|cvs\\|bug\\|dev\\)")) @@ -2585,8 +2611,8 @@ https://csclub.uwaterloo.ca/~abandali") :hook (;; (message-setup . mml-secure-message-sign-pgpmime) (message-mode . flyspell-mode) (message-mode . (lambda () - (setq-local fill-column b/fill-column - message-fill-column b/fill-column) + ;; (setq-local fill-column b/fill-column + ;; message-fill-column b/fill-column) (make-local-variable 'company-idle-delay) (setq company-idle-delay 0.2)))) ;; :custom-face @@ -2622,6 +2648,7 @@ https://csclub.uwaterloo.ca/~abandali") ("s" . footnote-set-style))) (use-package bbdb + :disabled :demand :after gnus :bind (:map gnus-group-mode-map ("e" . bbdb)) @@ -2631,49 +2658,47 @@ https://csclub.uwaterloo.ca/~abandali") (bbdb-complete-mail-allow-cycling t) (bbdb-user-mail-address-re message-dont-reply-to-names)) -(comment - (use-package ebdb - :demand - :after gnus - :bind (:map gnus-group-mode-map ("e" . ebdb)) - :config - (setq ebdb-sources (b/var "ebdb")) - (with-eval-after-load 'swiper - (add-to-list 'swiper-font-lock-exclude 'ebdb-mode t))) +(use-package ebdb + :demand + :after gnus + :bind (:map gnus-group-mode-map ("e" . ebdb)) + :config + (setq ebdb-sources (b/var "ebdb")) + (with-eval-after-load 'swiper + (add-to-list 'swiper-font-lock-exclude 'ebdb-mode t))) - (use-feature ebdb-com - :after ebdb) +(use-feature ebdb-com + :after ebdb) - (use-feature ebdb-complete - :after ebdb - :config - ;; (setq ebdb-complete-mail 'capf) - (ebdb-complete-enable)) +(use-feature ebdb-complete + :after ebdb + :config + ;; (setq ebdb-complete-mail 'capf) + (ebdb-complete-enable)) - (use-feature ebdb-message - :demand - :after ebdb) +(use-feature ebdb-message + :demand + :after ebdb) - ;; (use-package company-ebdb - ;; :config - ;; (defun company-ebdb--post-complete (_) nil)) +;; (use-package company-ebdb +;; :config +;; (defun company-ebdb--post-complete (_) nil)) - (use-feature ebdb-gnus - :after ebdb - :custom - (ebdb-gnus-window-size 0.3)) +(use-feature ebdb-gnus + :after ebdb + :custom + (ebdb-gnus-window-size 0.3)) - (use-feature ebdb-mua - :demand - :after ebdb - :custom (ebdb-mua-pop-up t)) +(use-feature ebdb-mua + :demand + :after ebdb + :custom (ebdb-mua-pop-up t)) - ;; (use-package ebdb-message - ;; :after ebdb) +;; (use-package ebdb-message +;; :after ebdb) - ;; (use-package ebdb-vcard - ;; :after ebdb) - ) +;; (use-package ebdb-vcard +;; :after ebdb) (use-package message-x)