#+TITLE: IRC and Bitlbee Interface #+AUTHOR: Howard X. Abrams #+DATE: 2020-12-10 #+FILETAGS: :emacs: A literate programming configuration file for IRC communiction. #+BEGIN_SRC emacs-lisp :exports none ;;; ha-irc.el --- configuration for IRC communication. -*- lexical-binding: t; -*- ;; ;; Copyright (C) 2020 Howard X. Abrams ;; ;; Author: Howard X. Abrams ;; Maintainer: Howard X. Abrams ;; Created: December 10, 2020 ;; ;; This file is not part of GNU Emacs. ;; ;; *NB:* Do not edit this file. Instead, edit the original literate file at: ;; ~/other/hamacs/ha-irc.org ;; And tangle the file to recreate this one. ;; ;;; Code: #+END_SRC * Introduction My IRC /needs/ are basic, so until I really start using Bitlbee heavily (see below), I connect to IRC servers using [[https://www.gnu.org/software/emacs/manual/html_node/rcirc/][rcirc]], see the [[info:rcirc][Info for rcirc]]. Basic configuration settings, include: #+BEGIN_SRC emacs-lisp (use-package rcirc :init (setq rcirc-default-nick "howard-abrams" rcirc-enable-authinfo-support t rcirc-enable-styles t rcirc-enable-late-fix t rcirc-enable-emojify t rcirc-enable-erc-tweet t rcirc-omit-responses '("JOIN" "PART" "QUIT" "NICK" "AWAY") rcirc-server-alist '(("howardabrams.com" :port 7777 :nick "howard-abrams" :full-name "Howard Abrams"))) :config (rcirc-track-minor-mode 1)) #+END_SRC Note the following key-bindings: + ~C-c C-o~ :: To ignore the unimportant JOIN/PART messages, do this for every channel + ~C-c C-l~ :: Lower the priority. Chatty, technical channels get this treatment. + ~C-c TAB~ :: Ignore a channel's notification, do this for =#emacs= because it is always displayed. * IRC Servers Gotta jump into the new Libera. This shows how you can contact me, and what channels I like to visit. #+BEGIN_SRC emacs-lisp :tangle no (with-eval-after-load "rcirc" (setq rcirc-server-alist '(("irc.libera.chat" :nick "howard-abrams" :full-name "Howard Abrams" :channels ("#emacs" "#evil-mode" "#org-mode" "#openstack-operators" "#openstack-kolla" "#openstack-ansible"))))) #+END_SRC * Display Configuration Using the [[https://github.com/seagle0128/doom-modeline][Doom Modeline]] to add notifications: #+BEGIN_SRC emacs-lisp (setq doom-modeline-irc t) (setq doom-modeline-irc-stylize 'identity) #+END_SRC * Technical Artifacts :noexport: This will =provide= a code name, so that we can =require= this. #+BEGIN_SRC emacs-lisp :exports none (provide 'ha-irc) ;;; ha-irc.el ends here #+END_SRC #+DESCRIPTION: A literate programming configuration file for IRC. #+PROPERTY: header-args:sh :tangle no #+PROPERTY: header-args:emacs-lisp :tangle yes #+PROPERTY: header-args :results none :eval no-export :comments no mkdirp yes #+OPTIONS: num:nil toc:nil todo:nil tasks:nil tags:nil date:nil #+OPTIONS: skip:nil author:nil email:nil creator:nil timestamp:nil #+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js