hamacs/ha-irc.org

91 lines
3.5 KiB
Org Mode
Raw Normal View History

2021-11-24 00:42:00 +00:00
#+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 <http://gitlab.com/howardabrams>
;; 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