From ccb32b49c84c49070c5a5c5764a5b26d305e2584 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sun, 11 Apr 2021 11:04:08 -0400 Subject: [PATCH] Update ERC setup I'm not using ZNC anymore. Also, use client certificates for authentication with the networks. Also bump copyright years. --- .emacs.d/init.el | 2 +- .emacs.d/lisp/bandali-ebdb.el | 2 +- .emacs.d/lisp/bandali-erc.el | 54 +++++++++++------------------------ .emacs.d/lisp/bandali-exwm.el | 2 +- .emacs.d/lisp/bandali-gnus.el | 2 +- 5 files changed, 20 insertions(+), 42 deletions(-) diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 79be3bb..0d46aa4 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -1,6 +1,6 @@ ;;; init.el --- bandali's emacs configuration -*- lexical-binding: t -*- -;; Copyright (C) 2018-2020 Amin Bandali +;; Copyright (C) 2018-2021 Amin Bandali ;; This program is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by diff --git a/.emacs.d/lisp/bandali-ebdb.el b/.emacs.d/lisp/bandali-ebdb.el index 3d959c4..cc8d577 100644 --- a/.emacs.d/lisp/bandali-ebdb.el +++ b/.emacs.d/lisp/bandali-ebdb.el @@ -1,6 +1,6 @@ ;;; bandali-ebdb.el --- bandali's EBDB configuration -*- lexical-binding: t; -*- -;; Copyright (C) 2018-2020 Amin Bandali +;; Copyright (C) 2018-2021 Amin Bandali ;; Author: Amin Bandali ;; Keywords: tools diff --git a/.emacs.d/lisp/bandali-erc.el b/.emacs.d/lisp/bandali-erc.el index 1670af6..3527a65 100644 --- a/.emacs.d/lisp/bandali-erc.el +++ b/.emacs.d/lisp/bandali-erc.el @@ -1,9 +1,9 @@ ;;; bandali-erc.el --- bandali's ERC setup -*- lexical-binding: t; -*- -;; Copyright (C) 2018-2020 Amin Bandali +;; Copyright (C) 2018-2021 Amin Bandali ;; Author: Amin Bandali -;; Keywords: tools +;; Keywords: IRC, chat, client, Internet ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -20,15 +20,12 @@ ;;; Commentary: -;; My ERC setup for IRC. It uses my fork of ZNC.el. +;; My ERC setup for IRC in GNU Emacs. ;;; Code: -(defvar b/erc-detach-on-kill t - "Whether killing a channel should send a DETACH command (for ZNC).") - (with-eval-after-load 'erc - (make-directory (b/var "erc/dcc/") t) + (make-directory (b/var "erc/dcc") t) (csetq erc-auto-query 'bury erc-autojoin-domain-only nil @@ -50,7 +47,7 @@ (declare-function erc-default-target "erc") (declare-function erc-current-nick "erc") (defun erc-cmd-OPME () - "Request chanserv to op me." + "Ask chanserv to op me in the current channel." (erc-message "PRIVMSG" (format "chanserv op %s %s" (erc-default-target) @@ -58,7 +55,7 @@ nil)) (declare-function erc-cmd-DEOP "erc" (&rest people)) (defun erc-cmd-DEOPME () - "Deop myself from current channel." + "Deop myself in the current channel." (erc-cmd-DEOP (format "%s" (erc-current-nick)))) (add-to-list 'erc-modules 'keep-place) (add-to-list 'erc-modules 'log) @@ -146,49 +143,30 @@ ;; key bindings (global-set-key (kbd "C-c w e") #'erc-switch-to-buffer-other-window) - (define-key erc-mode-map (kbd "M-a") #'erc-track-switch-buffer) - - ;; hooks - (defun b/erc-detach-or-kill-channel () - (if b/erc-detach-on-kill - (when (erc-server-process-alive) - (let ((tgt (erc-default-target))) - (erc-server-send (format "DETACH %s" tgt) nil tgt))) - (erc-kill-channel))) - (add-hook 'erc-kill-channel-hook #'b/erc-detach-or-kill-channel) - (remove-hook 'erc-kill-channel-hook #'erc-kill-channel)) + (define-key erc-mode-map (kbd "M-a") #'erc-track-switch-buffer)) ;; global key bindings (global-set-key (kbd "C-c a e f") (lambda () (interactive) - (let* ((auth (auth-source-search :host "znca")) - (p (if (null auth) - (error "Couldn't find znca's authinfo") - (funcall (plist-get (car auth) :secret))))) - (erc-tls :server "znc.emacsconf.org" :port 6697 - :password (concat "bandali/freenode:" p))))) + (erc-tls :server "chat.freenode.net" :port 6697 + :client-key (b/var "erc/certs/bandali-freenode.key") + :client-crt (b/var "erc/certs/bandali-freenode.crt")))) (global-set-key (kbd "C-c a e o") (lambda () (interactive) - (let* ((auth (auth-source-search :host "znca")) - (p (if (null auth) - (error "Couldn't find znca's authinfo") - (funcall (plist-get (car auth) :secret))))) - (erc-tls :server "znc.emacsconf.org" :port 6697 - :password (concat "bandali/oftc:" p))))) + (erc-tls :server "irc.oftc.net" :port 6697 + :client-key (b/var "erc/certs/bandali-oftc.key") + :client-crt (b/var "erc/certs/bandali-oftc.crt")))) (global-set-key (kbd "C-c a e t") (lambda () (interactive) - (let* ((auth (auth-source-search :host "znca")) - (p (if (null auth) - (error "Couldn't find znca's authinfo") - (funcall (plist-get (car auth) :secret))))) - (erc-tls :server "znc.emacsconf.org" :port 6697 - :password (concat "bandali/tildechat:" p))))) + (erc-tls :server "na.tilde.chat" :port 6697 + :client-key (b/var "erc/certs/bandali-tildechat.key") + :client-crt (b/var "erc/certs/bandali-tildechat.crt")))) (provide 'bandali-erc) ;;; bandali-erc.el ends here diff --git a/.emacs.d/lisp/bandali-exwm.el b/.emacs.d/lisp/bandali-exwm.el index 99a186b..ab9d34f 100644 --- a/.emacs.d/lisp/bandali-exwm.el +++ b/.emacs.d/lisp/bandali-exwm.el @@ -1,6 +1,6 @@ ;;; bandali-exwm.el --- bandali's EXWM configuration -*- lexical-binding: t; -*- -;; Copyright (C) 2018-2020 Amin Bandali +;; Copyright (C) 2018-2021 Amin Bandali ;; Author: Amin Bandali ;; Keywords: tools diff --git a/.emacs.d/lisp/bandali-gnus.el b/.emacs.d/lisp/bandali-gnus.el index fdb1e7a..c6b6b41 100644 --- a/.emacs.d/lisp/bandali-gnus.el +++ b/.emacs.d/lisp/bandali-gnus.el @@ -1,6 +1,6 @@ ;;; bandali-gnus.el --- bandali's Gnus setup -*- lexical-binding: t; -*- -;; Copyright (C) 2018-2020 Amin Bandali +;; Copyright (C) 2018-2021 Amin Bandali ;; Author: Amin Bandali ;; Keywords: mail, news -- 2.20.1