diff --git a/ha-irc.org b/ha-irc.org new file mode 100644 index 0000000..df00225 --- /dev/null +++ b/ha-irc.org @@ -0,0 +1,90 @@ +#+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