mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-04 19:45:54 +00:00
018573b757
Previously you either had to set the setuid bit yourself or workaround `isSystemUser = true` (for a loginable shell) to access the weechat screen. `programs.screen` shouldn't do this by default to avoid taking too much assumptions about the setup, however `services.weechat` explicitly requires tihs. See #45728
67 lines
1.9 KiB
XML
67 lines
1.9 KiB
XML
<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>
|
|
<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>
|
|
<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>
|