diff options
| author | tslil clingman <> | 2021-04-11 20:03:49 -0400 |
|---|---|---|
| committer | tslil clingman <> | 2021-04-11 20:03:49 -0400 |
| commit | 75e835576e9c90e5e4f76122398c75734aa314d1 (patch) | |
| tree | 96577ea8c0c5574f39f574c2ddbad3062abee41a /emacs/inits | |
| parent | c9fc6f40392438652ff76aaf18aee3db292fe1cf (diff) | |
Advice to have rcirc populate password from auth-sources for ZNC
Diffstat (limited to 'emacs/inits')
| -rw-r--r-- | emacs/inits/30-irc.el | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/emacs/inits/30-irc.el b/emacs/inits/30-irc.el index edc33b2..1eecee4 100644 --- a/emacs/inits/30-irc.el +++ b/emacs/inits/30-irc.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2021-04-09 14h12 EDT (hobbies)> +;; Time-stamp: <2021-04-11 20h03 EDT (hobbies)> (use-package rcirc :ensure t @@ -11,30 +11,39 @@ (use-package rcirc-color :ensure t :if (window-system)) + (use-package rcirc-styles + :ensure t + :if (window-system)) (require 'auth-source) (defadvice rcirc (before rcirc-read-from-authinfo activate) (unless arg - (dolist (p (auth-source-search :port '("nickserv") - :require '(:port :user :secret))) - (let ((secret (plist-get p :secret)) - (method (intern (plist-get p :port)))) - (add-to-list 'rcirc-authinfo - (list (plist-get p :host) - method - (plist-get p :user) - (if (functionp secret) - (funcall secret) - secret))))))) + (dolist (server rcirc-server-alist) + (let* ((pl (cdr server)) + (host (plist-get pl :host)) + (user (plist-get pl :user)) + (port (plist-get pl :port)) + (pass (plist-get pl :password))) + (when (string-equal "%LOOKUP%" pass) + (plist-put (cdr server) :password + (concat user ":" + (let ((match (car (auth-source-search :host host)))) + (if match + (let ((secret (plist-get match :secret))) + (if (functionp secret) (funcall secret) secret)) + (error "Password not found for %s" host))))) + (message "Found authorisation information for %s." host)))))) (setq rcirc-default-full-name "tslil" - rcirc-default-nick "hiato" + rcirc-default-nick "tslil" rcirc-default-user-name "hiato" rcirc-time-format "%Y-%m-%d %H:%M " rcirc-log-directory "~/logs/irc/" rcirc-fill-column 80 rcirc-log-flag t - rcirc-server-alist '(("irc.freenode.net" + rcirc-server-alist '(("ZNC instance" + :host "znc.address.tld" :port 6697 - :encryption tls - :channels '("#esoteric" "#zig"))))) + :user "user" + :password "%LOOKUP%" + :encryption tls)))) |
