<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Weechat on Fuchsbau</title><link>https://this-is-fine.io/tags/weechat/</link><description>Recent content in Weechat on Fuchsbau</description><generator>Hugo</generator><language>de-DE</language><lastBuildDate>Thu, 21 May 2026 10:00:00 +0200</lastBuildDate><atom:link href="https://this-is-fine.io/tags/weechat/index.xml" rel="self" type="application/rss+xml"/><item><title>WeeChat als IRC-Client: Nicht-Standard ~/.config/weechat</title><link>https://this-is-fine.io/posts/20260521-weechat-setup/</link><pubDate>Thu, 21 May 2026 10:00:00 +0200</pubDate><guid>https://this-is-fine.io/posts/20260521-weechat-setup/</guid><description>&lt;p&gt;Ich nutze &lt;strong&gt;

&lt;a href="https://weechat.org/" rel="external noopener" target="_blank"&gt;WeeChat&lt;/a&gt;
&lt;/strong&gt; als IRC-Frontend im Zusammenspiel mit dem &lt;strong&gt;&lt;a href="https://this-is-fine.io/posts/20251121-irc-inspircd-znc/"&gt;ZNC + InspIRCd-Setup&lt;/a&gt;&lt;/strong&gt; im Lab.&lt;/p&gt;
&lt;figure&gt;
 &lt;img src="https://this-is-fine.io/posts/20260521-weechat-setup/images/weechat-theme.png" alt=""&gt;
 &lt;figcaption&gt;WeeChat im Lab — buflist links, grau/orange Transcript, Nicklist rechts, Tab **highmon**.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;Für die deklarative Konfiguration und den Rollout verwende ich Home-Manager.
Mein Flake zur Verwaltung meiner Systeme findest du
&lt;a href="https://radicle.network/nodes/seed.this-is-fine.io/rad:zVi9VheaDwbEgCUQUQ9sLwpHuaMo"&gt;hier&lt;/a&gt;. Ich
schreibe bei Zeiten mal einen Blogpost dazu.&lt;/p&gt;
&lt;h2 id="netzwerke-und-znc"&gt;Netzwerke und ZNC&lt;/h2&gt;
&lt;p&gt;Vier IRC-&lt;strong&gt;Server&lt;/strong&gt; in &lt;code&gt;irc.conf&lt;/code&gt; — drei über Bouncer, einer legacy - warum idle ich eigentlich
immer noch im Quakenet? - direkt:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zu &lt;strong&gt;libera&lt;/strong&gt;, &lt;strong&gt;hackint&lt;/strong&gt; und &lt;strong&gt;local&lt;/strong&gt; - dem cluster-internen &lt;a href="https://this-is-fine.io/posts/20251121-irc-inspircd-znc/"&gt;IRCd&lt;/a&gt; verbinde ich mich über
den IRC Bouncer (ZNC) der über &lt;code&gt;bnc.this-is-fine.social/+6697&lt;/code&gt; via TLS erreichbar ist. Für ZNC
aktiviere ich weitere IRC-Capabilities (&lt;code&gt;znc.in/server-time-iso&lt;/code&gt;, &lt;code&gt;znc.in/self-message&lt;/code&gt;, …).&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="mermaid"&gt;flowchart LR
 WC[WeeChat]
 ZNC[ZNC TLS SASL]
 LAB[bnc.this-is-fine.social]
 INSP[InspIRCd hydra]
 QN[irc.quakenet.org plain]

 WC --&amp;gt; ZNC
 WC --&amp;gt; LAB
 LAB --&amp;gt; INSP
 WC --&amp;gt; QN&lt;/div&gt;
&lt;div class="alert alert-info"&gt;Die Serverpasswörter liegen verschlüsselt in &lt;code&gt;${sec.data}&lt;/code&gt; und die Passphrase hierfür wird beim Startup von WeeChat über &lt;code&gt;pass&lt;/code&gt; mit
&lt;code&gt;passphrase_command = &amp;quot;pass show apps/weechat/passphrase&amp;quot;&lt;/code&gt; entschlüsselt:&lt;/div&gt;
&lt;h2 id="layout-bars-und-buffer"&gt;Layout: Bars und Buffer&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;weechat.conf&lt;/code&gt; definiert ein &lt;strong&gt;eigenes Bar-Set&lt;/strong&gt; — die Statuszeile unten ist absichtlich weg; Kontext steckt in der Title-Bar:&lt;/p&gt;</description></item><item><title>Mein WeeChat-Setup: Deklarativ mit Nix, eingeklinkt am Bouncer</title><link>https://this-is-fine.io/posts/20250926-weechat-nix-bouncer/</link><pubDate>Fri, 26 Sep 2025 19:42:30 +0200</pubDate><guid>https://this-is-fine.io/posts/20250926-weechat-nix-bouncer/</guid><description>&lt;p&gt;Mal etwas, das nichts mit dem Lab zu tun hat: mein IRC-Client. Ich nutze seit Jahren 

&lt;a href="https://weechat.org/" rel="external noopener" target="_blank"&gt;WeeChat&lt;/a&gt;
, und wie bei fast allem auf meinen Maschinen gilt auch hier — nichts wird von Hand zusammengeklickt, alles ist reproduzierbar. WeeChat samt Konfiguration kommt deshalb aus einem 

&lt;a href="https://nix-community.github.io/home-manager/" rel="external noopener" target="_blank"&gt;Home-Manager&lt;/a&gt;
-Modul und verbindet sich ausschließlich mit meinem Bouncer.&lt;/p&gt;
&lt;h2 id="weechat-als-nix-modul"&gt;WeeChat als Nix-Modul&lt;/h2&gt;
&lt;p&gt;Der Client soll auf jeder meiner Maschinen identisch dastehen — gleiche Plugins, gleiche Skripte, gleiche Tastenbelegung. Genau dafür ist Nix gemacht. Mein Modul baut WeeChat über &lt;code&gt;pkgs.weechat.override&lt;/code&gt; mit exakt den Bausteinen, die ich brauche, und nicht mehr:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-nix" data-lang="nix"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;weechat&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pkgs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;weechat&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;override&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;configure&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;availablePlugins&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="o"&gt;...&lt;/span&gt; &lt;span class="p"&gt;}:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;plugins&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;availablePlugins&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;withPackages&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;_ps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt; &lt;span class="p"&gt;]))&lt;/span&gt; &lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;scripts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;pkgs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;weechatScripts&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt; &lt;span class="n"&gt;autosort&lt;/span&gt; &lt;span class="n"&gt;weechat-grep&lt;/span&gt; &lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das Python-Plugin und die beiden Skripte — 

&lt;a href="https://weechat.org/scripts/source/autosort.py.html/" rel="external noopener" target="_blank"&gt;autosort&lt;/a&gt;
 zum automatischen Einsortieren der Buffer und &lt;code&gt;weechat-grep&lt;/code&gt; zum Durchsuchen der Logs — sind damit Teil des Build-Outputs, nicht etwas, das ich nach der Installation noch nachziehen müsste.&lt;/p&gt;</description></item></channel></rss>