about summary refs log tree commit diff
path: root/modules/workstation/weechat/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/workstation/weechat/default.nix')
-rw-r--r--modules/workstation/weechat/default.nix13
1 files changed, 12 insertions, 1 deletions
diff --git a/modules/workstation/weechat/default.nix b/modules/workstation/weechat/default.nix
index a214535920a4..2194a0c87fec 100644
--- a/modules/workstation/weechat/default.nix
+++ b/modules/workstation/weechat/default.nix
@@ -4,12 +4,14 @@ with lib;
 
 let
   scripts = with pkgs.weechatScripts;
-    [ colorize_nicks go zncplayback ];
+    [ colorize_nicks go weechat-matrix zncplayback ];
 
   networks = [
     "bitlbee" "freenode" "freenode2" "gnome" "hackint" "indymedia" "oftc"
   ];
 
+  matrixServers = { fairydust = "fairydust.space"; };
+
   toWeeChat = value:
     /**/ if value == true  then "on"
     else if value == false then "off"
@@ -48,6 +50,13 @@ let
     logger.color.backlog_end = "*default";
     logger.look.backlog = 200;
 
+    matrix.look.human_buffer_names = true;
+    matrix.server = flip mapAttrs matrixServers (name: _: {
+      autoconnect = true;
+      device_name = "WeeChat (${config.networking.hostName})";
+      username = "qyliss";
+      password = "\\\${sec.data.fairydust.password}";
+    });
 
     script.look.sort = "p,n";
 
@@ -80,6 +89,8 @@ let
 
   commands =
     map (n: "/server add ${n} ${cfgin.irc.server_default.addresses}") networks ++
+    [ "/matrix server delete matrix_org" ] ++
+    mapAttrsToList (n: d: "/matrix server add ${n} ${d}") matrixServers ++
     map (i: "/ignore add ${i}") ignores ++
     mapAttrsToList (name: value: "/set ${name} ${toWeeChat value}")
                    (flattenAttrs cfgin);