#desktop

WeeChat als IRC-Client: Nicht-Standard ~/.config/weechat

Wie ich WeeChat mit ZNC und dem Lab-IRC-Stack betreibe — Bars, Buffer, Trigger, Secrets und Scripts

Ich nutze WeeChat als IRC-Frontend im Zusammenspiel mit dem ZNC + InspIRCd-Setup im Lab.

WeeChat im Lab — buflist links, grau/orange Transcript, Nicklist rechts, Tab **highmon**.

Setup#

Für die deklarative Konfiguration und den Rollout verwende ich Home-Manager — wie WeeChat dabei als reproduzierbares Nix-Artefakt entsteht und sich am Bouncer einklinkt, habe ich separat beschrieben . Hier geht es um die Konfiguration selbst. Mein Flake zur Verwaltung aller Systeme findest du hier ; einen ausführlicheren Blogpost dazu schreibe ich bei Gelegenheit.

Netzwerke und ZNC#

Vier IRC-Server stehen in irc.conf — drei laufen über den Bouncer, einer (Quakenet, mehr Gewohnheit als Vernunft) direkt:

  • libera, hackint und local — den cluster-internen IRCd — erreiche ich über den ZNC-Bouncer, der unter bnc.this-is-fine.social/+6697 via TLS hängt. Für ZNC aktiviere ich zusätzliche IRC-Capabilities (znc.in/server-time-iso, znc.in/self-message, …).
flowchart LR WC[WeeChat] ZNC[ZNC TLS SASL] LAB[bnc.this-is-fine.social] INSP[InspIRCd hydra] QN[irc.quakenet.org plain] WC --> ZNC WC --> LAB LAB --> INSP WC --> QN
Die Serverpasswörter liegen verschlüsselt in ${sec.data} und die Passphrase hierfür wird beim Startup von WeeChat über pass mit passphrase_command = "pass show apps/weechat/passphrase" entschlüsselt.

Layout: Bars und Buffer#

weechat.conf definiert ein eigenes Bar-Set — die Statuszeile unten ist absichtlich weg; Kontext steckt in der Title-Bar: