aboutsummaryrefslogtreecommitdiff
path: root/.config/emacs
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs')
-rw-r--r--.config/emacs/init.el34
-rw-r--r--.config/emacs/straight/versions/default.el1
2 files changed, 35 insertions, 0 deletions
diff --git a/.config/emacs/init.el b/.config/emacs/init.el
index 0f39e04..e36829b 100644
--- a/.config/emacs/init.el
+++ b/.config/emacs/init.el
@@ -742,3 +742,37 @@
;; Nice highlighting for patches inside of emails.
(use-package message-view-patch
:hook (gnus-part-display . message-view-patch-highlight))
+
+;;;
+;; IRC
+
+(require 'auth-source)
+(setq auth-sources '("~/org/authinfo.gpg"))
+
+(use-package circe
+ :ensure t
+ :bind (("C-c i" . mssola/connect-libera-chat))
+ :config
+
+ ;; Helper function to securely fetch password via auth-source.
+ (defun mssola/irc-fetch-password (host port username)
+ (let ((data (auth-source-search :host host :port port :user username)))
+ (when data
+ (let ((secret (plist-get (car data) :secret)))
+ (if (functionp secret) (funcall secret) secret)))))
+
+ (defun mssola/connect-libera-chat ()
+ "Connect to the pre-configured Libera Chat network using Circe."
+ (interactive)
+ (circe "Libera Chat"))
+
+ (setq circe-network-options
+ '(("Libera Chat"
+ :host "irc.libera.chat"
+ :port 6697
+ :tls t
+ :nick "mssola"
+ :sasl-username "mssola"
+ :sasl-password (lambda (&rest _)
+ (mssola/irc-fetch-password "irc.libera.chat" 6697 "mssola"))
+ :channels ("#riscv" "#btrfs")))))
diff --git a/.config/emacs/straight/versions/default.el b/.config/emacs/straight/versions/default.el
index 6d37cbd..a69b710 100644
--- a/.config/emacs/straight/versions/default.el
+++ b/.config/emacs/straight/versions/default.el
@@ -1,6 +1,7 @@
(("adoc-mode" . "20772277b8a5b8c08d49bd03043d5d4dd7a815e9")
("annalist.el" . "e1ef5dad75fa502d761f70d9ddf1aeb1c423f41d")
("bind-key" . "ec9d0505febe2556b47457355763f5f1408a35ac")
+ ("circe" . "754a59fa06bdbf03cc47567c04c97ee49d8aa1f1")
("company-mode" . "1924eabfa7438974da0500e85fff5fb32c27282c")
("compat" . "97f24af413a38a7f1aaedb29f5aaaa333796a5b4")
("consult" . "d32cccdcb5559b503306291fa9f52df19594d687")