aboutsummaryrefslogtreecommitdiff
path: root/.config/doom/config.el
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mikisabate@gmail.com>2024-08-25 00:04:41 +0200
committerMiquel Sabaté Solà <mikisabate@gmail.com>2024-08-25 00:04:41 +0200
commit44314201ba0f1ca82758a20f6d879b066bfaf876 (patch)
treee11a21579558511efa77b7f65abe49483ac6c9cc /.config/doom/config.el
parent9067b6e7302dafe5459c93532a9199d43eb7780f (diff)
downloaddotfiles-44314201ba0f1ca82758a20f6d879b066bfaf876.tar.gz
dotfiles-44314201ba0f1ca82758a20f6d879b066bfaf876.zip
emacs: configure IRC
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to '.config/doom/config.el')
-rw-r--r--.config/doom/config.el30
1 files changed, 30 insertions, 0 deletions
diff --git a/.config/doom/config.el b/.config/doom/config.el
index f5e25ea..6b28720 100644
--- a/.config/doom/config.el
+++ b/.config/doom/config.el
@@ -280,3 +280,33 @@
;; Only show unread items.
(setq elfeed-search-filter "@1-month-ago +unread"))
+
+;;; IRC
+
+;; Key binding for starting Circe.
+(map! :leader "o i" #'=irc)
+
+(after! circe
+ (setq auth-sources '((:source "~/org/authinfo.gpg")))
+
+ ;; Given a :user and a :machine, returns the password assigned to it on my
+ ;; personal authinfo.gpg file as defined in the `auth-sources'.
+ (defun mssola/fetch-password-from-auth (&rest params)
+ (require 'auth-source)
+ (let ((match (car (apply 'auth-source-search params))))
+ (if match
+ (let ((secret (plist-get match :secret)))
+ (if (functionp secret)
+ (funcall secret)
+ secret))
+ (error "Password not found for %S" params))))
+
+ (set-irc-server! "irc.libera.chat"
+ '(:tls t
+ :port 6697
+ :nick "mssola"
+ :sasl-username "mssola"
+ :sasl-password
+ (lambda (server)
+ (mssola/fetch-password-from-auth :user "mssola" :machine server))
+ :channels ("#riscv"))))