X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/64b53575544eaed58507c52bb3034e695e2495d3..eeae870db94ec517f8f06b19c22f6e386af365d5:/.emacs.d/init.el diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 2b84887..0c129d1 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"))) @@ -1415,8 +1415,22 @@ 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) + :mode "\\.\\(als\\|dsh\\)\\'" + :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)) @@ -1475,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) @@ -1847,10 +1863,8 @@ This function is intended for use with `ivy-ignore-buffers'." ;; easily type pretty quotes & other typography, like ‘’“”-–—«»‹› (use-package typo - :disabled :defer 0.5 :config - (typo-global-mode 1) :hook (((text-mode erc-mode web-mode) . typo-mode) (tex-mode . (lambda ()(typo-mode -1))))) @@ -2201,6 +2215,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") @@ -2466,10 +2482,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 @@ -2483,8 +2495,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") @@ -2507,8 +2518,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) @@ -2546,6 +2558,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\\)")) @@ -2595,8 +2609,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