From 39c1c07363abeeca1c13f257fdacf0eb0851ac1f Mon Sep 17 00:00:00 2001
From: Amin Bandali <bandali@gnu.org>
Date: Sun, 12 Apr 2020 23:55:06 -0400
Subject: Assimilate 4 drones for ERC setup, and move ERC things to lisp/

Assimilate erc-hl-nicks             1.3.4
Assimilate erc-scrolltoplace        0.1.0-1-gfeb0fbf
Assimilate switch-buffer-functions v0.0.1-12-g95a846b
Assimilate znc                      2fd359e
---
 lisp/bandali-erc.el | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)
 create mode 100644 lisp/bandali-erc.el

(limited to 'lisp')

diff --git a/lisp/bandali-erc.el b/lisp/bandali-erc.el
new file mode 100644
index 0000000..2d6f496
--- /dev/null
+++ b/lisp/bandali-erc.el
@@ -0,0 +1,74 @@
+(use-package erc
+  :bind (("C-c b b" . erc-switch-to-buffer)
+         :map erc-mode-map
+         ("M-a" . erc-track-switch-buffer))
+  :custom
+  (erc-join-buffer 'bury)
+  (erc-lurker-hide-list '("JOIN" "PART" "QUIT"))
+  (erc-nick "bandali")
+  (erc-prompt "erc>")
+  (erc-rename-buffers t)
+  (erc-server-reconnect-attempts 5)
+  (erc-server-reconnect-timeout 3)
+  :config
+  (defun erc-cmd-OPME ()
+    "Request chanserv to op me."
+    (erc-message "PRIVMSG"
+                 (format "chanserv op %s %s"
+                         (erc-default-target)
+                         (erc-current-nick)) nil))
+  (defun erc-cmd-DEOPME ()
+    "Deop myself from current channel."
+    (erc-cmd-DEOP (format "%s" (erc-current-nick))))
+  (add-to-list 'erc-modules 'keep-place)
+  (add-to-list 'erc-modules 'notifications)
+  (add-to-list 'erc-modules 'smiley)
+  (add-to-list 'erc-modules 'spelling)
+  (add-to-list 'erc-modules 'scrolltoplace)
+  (erc-update-modules))
+
+(use-package erc-fill
+  :after erc
+  :custom
+  (erc-fill-column 77)
+  (erc-fill-function 'erc-fill-static)
+  (erc-fill-static-center 18))
+
+(use-package erc-pcomplete
+  :after erc
+  :custom
+  (erc-pcomplete-nick-postfix ", "))
+
+(use-package erc-track
+  :after erc
+  :bind (("C-c a e t d" . erc-track-disable)
+         ("C-c a e t e" . erc-track-enable))
+  :custom
+  (erc-track-enable-keybindings nil)
+  (erc-track-exclude-types '("JOIN" "MODE" "NICK" "PART" "QUIT"
+                             "324" "329" "332" "333" "353" "477"))
+  (erc-track-position-in-mode-line t)
+  (erc-track-priority-faces-only 'all)
+  (erc-track-shorten-function nil))
+
+(use-package erc-hl-nicks
+  :after erc)
+
+(use-package erc-scrolltoplace
+  :after erc)
+
+(use-package znc
+  :bind (("C-c a e e" . znc-erc)
+         ("C-c a e a" . znc-all))
+  :config
+  (let ((pwd (let ((auth (auth-source-search :host "znca")))
+               (cond
+                ((null auth) (error "Couldn't find znca's authinfo"))
+                (t (funcall (plist-get (car auth) :secret)))))))
+    (setq znc-servers
+          `(("znc.shemshak.org" 1337 t
+             ((freenode "amin/freenode" ,pwd)))
+            ("znc.shemshak.org" 1337 t
+             ((oftc "amin/oftc" ,pwd)))))))
+
+(provide 'bandali-erc)
-- 
cgit v1.2.3-83-g751a