summary refs log tree commit diff
path: root/nixos/modules/services/misc/weechat.md
diff options
context:
space:
mode:
authorpennae <github@quasiparticle.net>2023-01-03 05:37:19 +0100
committerpennae <github@quasiparticle.net>2023-01-10 10:31:57 +0100
commit8c17c417a1687df44fa9a672e47fc43ef627db59 (patch)
tree1cb18dfc780394245b78ebdf76e10b1d9d64e733 /nixos/modules/services/misc/weechat.md
parent2928e0c4876bcedbeb82675b217f9314c4fe2593 (diff)
downloadnixpkgs-8c17c417a1687df44fa9a672e47fc43ef627db59.tar
nixpkgs-8c17c417a1687df44fa9a672e47fc43ef627db59.tar.gz
nixpkgs-8c17c417a1687df44fa9a672e47fc43ef627db59.tar.bz2
nixpkgs-8c17c417a1687df44fa9a672e47fc43ef627db59.tar.lz
nixpkgs-8c17c417a1687df44fa9a672e47fc43ef627db59.tar.xz
nixpkgs-8c17c417a1687df44fa9a672e47fc43ef627db59.tar.zst
nixpkgs-8c17c417a1687df44fa9a672e47fc43ef627db59.zip
nixos/weechat: convert manual chapter to MD
Diffstat (limited to 'nixos/modules/services/misc/weechat.md')
-rw-r--r--nixos/modules/services/misc/weechat.md46
1 files changed, 46 insertions, 0 deletions
diff --git a/nixos/modules/services/misc/weechat.md b/nixos/modules/services/misc/weechat.md
new file mode 100644
index 00000000000..21f41be5b4a
--- /dev/null
+++ b/nixos/modules/services/misc/weechat.md
@@ -0,0 +1,46 @@
+# WeeChat {#module-services-weechat}
+
+[WeeChat](https://weechat.org/) is a fast and
+extensible IRC client.
+
+## Basic Usage {#module-services-weechat-basic-usage}
+
+By default, the module creates a
+[`systemd`](https://www.freedesktop.org/wiki/Software/systemd/)
+unit which runs the chat client in a detached
+[`screen`](https://www.gnu.org/software/screen/)
+session.
+
+This can be done by enabling the `weechat` service:
+```
+{ ... }:
+
+{
+  services.weechat.enable = true;
+}
+```
+
+The service is managed by a dedicated user named `weechat`
+in the state directory `/var/lib/weechat`.
+
+## Re-attaching to WeeChat {#module-services-weechat-reattach}
+
+WeeChat runs in a screen session owned by a dedicated user. To explicitly
+allow your another user to attach to this session, the
+`screenrc` needs to be tweaked by adding
+[multiuser](https://www.gnu.org/software/screen/manual/html_node/Multiuser.html#Multiuser)
+support:
+```
+{
+  programs.screen.screenrc = ''
+    multiuser on
+    acladd normal_user
+  '';
+}
+```
+Now, the session can be re-attached like this:
+```
+screen -x weechat/weechat-screen
+```
+
+*The session name can be changed using [services.weechat.sessionName.](options.html#opt-services.weechat.sessionName)*