infrastructure/users/kat/base/weechat.nix

70 lines
2.1 KiB
Nix

{ config, pkgs, lib, ... }:
{
programs.weechat = {
init = lib.mkMerge [
(lib.mkBefore ''
/server add freenode athame.kittywit.ch/5001 -ssl -autoconnect
/server add espernet athame.kittywit.ch/5001 -ssl -autoconnect
/matrix server add kat kittywit.ch
/key bind meta-g /go
/key bind meta-c /buffer close
/key bind meta-n /bar toggle nicklist
/key bind meta-b /bar toggle buflist
/relay add weechat 9000
'')
(lib.mkAfter "/matrix connect kat")
];
packageUnwrapped = pkgs.weechat-unwrapped;
homeDirectory = "${config.xdg.dataHome}/weechat";
plugins.python = {
enable = true;
packages = [ "weechat-matrix" ];
};
scripts = with pkgs.weechatScripts; [
go
auto_away
autosort
colorize_nicks
unread_buffer
urlgrab
vimode-git
weechat-matrix
weechat-notify-send
title
];
config = {
logger.level.irc = 0;
logger.level.matrix = 0;
weechat = {
look = { mouse = true; };
bar = {
buflist = { size_max = 24; };
nicklist = { size_max = 18; };
};
};
urlgrab.default.copycmd = "${pkgs.wl-clipboard}/bin/wl-copy";
plugins.var.python.vimode.copy_clipboard_cmd = "wl-copy";
plugins.var.python.vimode.paste_clipboard_cmd = "wl-paste --no-newline";
plugins.var.python.title.title_prefix = "weechat - ";
plugins.var.python.title.show_hotlist = true;
plugins.var.python.title.current_buffer_suffix = " [";
plugins.var.python.title.title_suffix = " ]";
plugins.var.python.notify_send.icon = "";
plugins.var.python.go.short_name = true;
irc = { look = { server_buffer = "independent"; }; };
matrix = {
network = {
max_backlog_sync_events = 30;
lazy_load_room_users = true;
autoreconnect_delay_max = 5;
lag_min-show = 1000;
};
look = {
server_buffer = "independent";
redactions = "notice";
};
};
};
};
}