X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/bb60074bc1784847f77321e96e13b8c0bab6df56..d1c58787a7346176c95f74be875c16f6ac97af50:/init.org?ds=inline diff --git a/init.org b/init.org index ce31d58..167125c 100644 --- a/init.org +++ b/init.org @@ -1,4 +1,4 @@ -#+title: =aminb='s Literate Emacs Configuration +#+title: Literate Emacs Configuration of Amin Bandali #+author: Amin Bandali #+babel: :cache yes #+property: header-args :tangle yes @@ -214,7 +214,7 @@ but for now I've decided to keep them enabled. See documentation for #+begin_src emacs-lisp (setq user-full-name "Amin Bandali" - user-mail-address "amin@aminb.org") + user-mail-address "amin@bndl.org") #+end_src ** Package management @@ -320,9 +320,10 @@ and without compromising on performance. use-package-expand-minimally t)) (setq use-package-always-defer t) +(require 'bind-key) #+end_src -*** Epkg +*** COMMENT Epkg #+begin_quote Browse the Emacsmirror package database @@ -333,7 +334,6 @@ database, low-level functions for querying the database, and a =package.el=-like user interface for browsing the available packages. #+begin_src emacs-lisp -(require 'bind-key) (use-package epkg :commands (epkg-list-packages epkg-describe-package) :bind @@ -805,6 +805,9 @@ Some bindings for functions from built-in GNU Emacs packages: ("s-p" . beginning-of-buffer) ("s-n" . end-of-buffer)) + +(when (display-graphic-p) + (unbind-key "C-z" global-map)) #+end_src While at it, let's bind a few for some =straight-*= functions too: @@ -870,41 +873,6 @@ system. In short, my favourite way of life. -First, we have to resort to a [[https://github.com/raxod502/straight.el#installing-org-with-straightel][hack]] to be able to use the correct -latest version of Org from upstream. - -#+begin_src emacs-lisp - (use-package git) - - (defun org-git-version () - "The Git version of org-mode. - Inserted by installing org-mode or when a release is made." - (require 'git) - (let ((git-repo (expand-file-name - "straight/repos/org/" user-emacs-directory))) - (string-trim - (git-run "describe" - "--match=release\*" - "--abbrev=6" - "HEAD")))) - - (defun org-release () - "The release version of org-mode. - Inserted by installing org-mode or when a release is made." - (require 'git) - (let ((git-repo (expand-file-name - "straight/repos/org/" user-emacs-directory))) - (string-trim - (string-remove-prefix - "release_" - (git-run "describe" - "--match=release\*" - "--abbrev=0" - "HEAD"))))) - -(provide 'org-version) -#+end_src - We will use the =org-plus-contrib= package to get the whole deal: #+begin_src emacs-lisp @@ -1216,7 +1184,8 @@ There's no way I could top that, so I won't attempt to. ("emacs" (or (name . "^\\*scratch\\*$") - (name . "^\\*Messages\\*$")))))) + (name . "^\\*Messages\\*$"))) + ("erc" (mode . erc-mode))))) (ibuffer-formats '((mark modified read-only locked " " (name 18 18 :left :elide) @@ -1830,7 +1799,7 @@ treemacs :after (treemacs)) #+end_src -*** eclim +*** COMMENT eclim #+begin_src emacs-lisp (use-package eclim @@ -1900,9 +1869,10 @@ Emacs package that displays available keybindings in popup "C-x v" "version control" ;; prefixes for my personal bindings "C-c a" "applications" + "C-c a e" "erc" "C-c a s" "shells" "C-c p" "package-management" - "C-c p e" "package-management/epkg" + ;; "C-c p e" "package-management/epkg" "C-c p s" "straight.el" "C-c psa" "all" "C-c psp" "package" @@ -2289,7 +2259,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. (nnimap-address "127.0.0.1") (nnimap-server-port 143) (nnimap-authenticator plain) - (nnimap-user "amin@aminb.org")) + (nnimap-user "amin@bndl.org")) (nnimap "uwaterloo" (nnimap-stream plain) (nnimap-address "127.0.0.1") @@ -2368,11 +2338,12 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. :config (setq gnus-posting-styles '((".*" - (address "amin@aminb.org") + (address "amin@bndl.org") (body "\nBest,\namin\n") (eval (setq a/message-cite-say-hi t))) ("gnu.*" - (address "bandali@gnu.org")) + (address "bandali@gnu.org") + (eval (set (make-local-variable 'message-user-fqdn) "fencepost.gnu.org"))) ((header "subject" "ThankCRM") (to "webmasters-comment@gnu.org") (body "\nAdded to 2019supporters.html.\n\nMoving to campaigns.\n\n-amin\n") @@ -2385,7 +2356,8 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. (gcc "nnimap+csclub:Sent"))))) (use-feature gnus-topic - :hook (gnus-group-mode . gnus-topic-mode)) + :hook (gnus-group-mode . gnus-topic-mode) + :config (setq gnus-topic-line-format "%i[ %A: %(%{%n%}%) ]%v\n")) (use-feature gnus-agent :config @@ -2417,6 +2389,16 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. #+begin_src emacs-lisp (use-feature message :config + ;; redefine for a simplified In-Reply-To header + ;; (see https://todo.sr.ht/~sircmpwn/lists.sr.ht/67) + (defun message-make-in-reply-to () + "Return the In-Reply-To header for this message." + (when message-reply-headers + (let ((from (mail-header-from message-reply-headers)) + (msg-id (mail-header-id message-reply-headers))) + (when from + msg-id)))) + (defconst a/message-cite-style-format "On %Y-%m-%d %l:%M %p, %N wrote:") (defconst message-cite-style-bandali '((message-cite-function 'message-cite-original) @@ -2435,8 +2417,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. message-send-mail-function 'message-send-mail-with-sendmail message-sendmail-envelope-from 'header message-dont-reply-to-names - "\\(\\(.*@aminb\\.org\\)\\|\\(amin@bandali\\.me\\)\\|\\(\\(aminb?\\|mab\\|bandali\\)@gnu\\.org\\)\\|\\(\\(m\\|a\\(min\\.\\)?\\)bandali@uwaterloo\\.ca\\)\\|\\(abandali@csclub\\.uwaterloo\\.ca\\)\\)" - message-user-fqdn "aminb.org") + "\\(\\(amin@bndl\\.org\\)\\|\\(.*@\\(aminb\\|amin\\.bndl\\)\\.org\\)\\|\\(\\(bandali\\|aminb?\\|mab\\)@gnu\\.org\\)\\|\\(a\\(min\\.\\)?bandali@uwaterloo\\.ca\\)\\|\\(abandali@csclub\\.uwaterloo\\.ca\\)\\)") (require 'company-ebdb) :hook (;; (message-setup . mml-secure-message-sign-pgpmime) (message-mode . flyspell-mode) @@ -2559,6 +2540,30 @@ Convenient footnotes in =message-mode=. (gnus-harvest-install))) #+end_src +* IRC +:PROPERTIES: +:CUSTOM_ID: irc +:END: + +Now with ERC! + +#+begin_src emacs-lisp +(use-package znc + :straight (:host nil :repo "https://git.bndl.org/amin/znc.el") + :bind (("C-c a e e" . znc-erc) + ("C-c a e a" . znc-all)) + :config + (let ((pwd (let ((auth (auth-source-search :host "znca"))) + (cond + ((null auth) (error "Couldn't find znca's authinfo")) + (t (funcall (plist-get (car auth) :secret))))))) + (setq znc-servers + `(("znc.bndl.org" 1337 t + ((freenode "amin/freenode" ,pwd))) + ("znc.bndl.org" 1337 t + ((moznet "amin/moznet" ,pwd))))))) +#+end_src + * Blogging :PROPERTIES: :CUSTOM_ID: blogging