<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-services-weechat"> <title>WeeChat</title> <para> <link xlink:href="https://weechat.org/">WeeChat</link> is a fast and extensible IRC client. </para> <section xml:id="module-services-weechat-basic-usage"> <title>Basic Usage</title> <para> By default, the module creates a <literal><link xlink:href="https://www.freedesktop.org/wiki/Software/systemd/">systemd</link></literal> unit which runs the chat client in a detached <literal><link xlink:href="https://www.gnu.org/software/screen/">screen</link></literal> session. </para> <para> This can be done by enabling the <literal>weechat</literal> service: <programlisting> { ... }: { <link linkend="opt-services.weechat.enable">services.weechat.enable</link> = true; } </programlisting> </para> <para> The service is managed by a dedicated user named <literal>weechat</literal> in the state directory <literal>/var/lib/weechat</literal>. </para> </section> <section xml:id="module-services-weechat-reattach"> <title>Re-attaching to WeeChat</title> <para> WeeChat runs in a screen session owned by a dedicated user. To explicitly allow your another user to attach to this session, the <literal>screenrc</literal> needs to be tweaked by adding <link xlink:href="https://www.gnu.org/software/screen/manual/html_node/Multiuser.html#Multiuser">multiuser</link> support: <programlisting> { <link linkend="opt-programs.screen.screenrc">programs.screen.screenrc</link> = '' multiuser on acladd normal_user ''; } </programlisting> Now, the session can be re-attached like this: <programlisting> screen -x weechat/weechat-screen </programlisting> </para> <para> <emphasis>The session name can be changed using <link linkend="opt-services.weechat.sessionName">services.weechat.sessionName.</link></emphasis> </para> </section> </chapter>