;; Time-stamp: <2021-09-27 08h48 EDT (hobbies)> (use-package rcirc :ensure t :defer :hook (rcirc-mode . (lambda () (rcirc-track-minor-mode 1) (rcirc-omit-mode 1) (spell-fu-mode 1) (visual-line-mode) (set (make-local-variable 'scroll-conservatively) 8192))) :config (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 (custom-set-variables '(epg-gpg-program "/usr/bin/qubes-gpg-client-wrapper")) (setq rcirc-server-alist (copy-tree rcirc-server-alist-template)) (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)))))) (defadvice rcirc (after rcirc-clean-passwords activate) (setq rcirc-server-alist nil) (custom-set-variables '(epg-gpg-program "gpg2"))) (setq rcirc-default-full-name "tslil" rcirc-default-nick "op_4" rcirc-default-user-name "op_4" rcirc-default-part-reason "leaving" rcirc-time-format "%Y-%m-%d %H:%M " rcirc-log-directory "~/logs/irc/" rcirc-fill-column 80 rcirc-log-flag t rcirc-ignore-list '("esowiki") rcirc-server-alist-template '(("l-3.space" :server-alias "libera.chat" :host "l-3.space" :port 6697 :user "tslil/liberachat" :password "%LOOKUP%" :encryption tls))))