From f7763cb99bca82ea794001231f10916753e9b428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Thu, 30 Dec 2021 03:01:05 +0100 Subject: [PATCH] feat(weechat): use declarative --- .versions/stockholm.json | 8 +- systems/makanek/weechat.nix | 178 ++++++++++++++++++++++-------------- 2 files changed, 115 insertions(+), 71 deletions(-) diff --git a/.versions/stockholm.json b/.versions/stockholm.json index ac3a1e5..00c1a6e 100644 --- a/.versions/stockholm.json +++ b/.versions/stockholm.json @@ -1,9 +1,9 @@ { "url": "https://cgit.lassul.us/stockholm", - "rev": "576c05cf3a0ceddefa29c2d0073108177c3cfa52", - "date": "2021-12-22T13:59:46+01:00", - "path": "/nix/store/yx1j5pardgd9114f0cf3c4xjfq6r4yfv-stockholm", - "sha256": "18napi4k8i2iizrismlp9ha3ga6c3n2dvrhijy59kl1jxqrsaq9l", + "rev": "dd565a928a42f870302b3a14eea28eebc575071f", + "date": "2021-12-30T02:14:35+01:00", + "path": "/nix/store/h7sgsx52qsawbs36ikb9ir0fz3nc4bgp-stockholm", + "sha256": "15i545kigizjvm2kh8c913c6fhysvpslsm6p6k1pqinwv85nlk6f", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/systems/makanek/weechat.nix b/systems/makanek/weechat.nix index 7d60dd3..7d473dd 100644 --- a/systems/makanek/weechat.nix +++ b/systems/makanek/weechat.nix @@ -21,73 +21,117 @@ in { bind-key C-s switch-client -l ''} "$@" ''; - weechat = pkgs.weechat.override { - configure = { ... }: { - scripts = [ pkgs.weechatScripts.weechat-autosort pkgs.weechatScripts.colorize_nicks pkgs.weechatScripts.weechat-matrix ]; - init = let - coolColors = lib.lists.subtractLists (lib.range 52 69 ++ lib.range 231 248) (lib.range 31 254); - nick = "kmein"; - in '' - /mouse enable - /set irc.server_default.nicks "${nick}" - /set irc.server_default.msg_part "tschö mit ö" - /set irc.server_default.msg_quit "ciao kakao" - /set irc.server_default.msg_kick "warum machst du diese?" - /set irc.server_default.realname "${kieran.name}" - - /set irc.look.color_nicks_in_nicklist "on" - /set weechat.color.chat_nick_colors "${lib.concatMapStringsSep "," toString coolColors}" - - /server add hackint irc.hackint.org/6697 -ipv6 -ssl - /server add libera irc.libera.chat/6697 -ssl - /server add oftc irc.oftc.net/6697 -ssl -ipv6 - /server add retiolum irc.r - /server add news news.r - /matrix server add nibbana nibbana.jp - - /alias add mod /quote omode $channel +o $nick - - /relay add weechat 9000 - /set relay.network.password ${relayPassword} - - /set matrix.server.nibbana.username ${nick} - /set matrix.server.nibbana.password "${lib.strings.fileContents }" - - /set irc.server.oftc.command /msg nickserv IDENTIFY ${lib.strings.fileContents };/msg nickserv SET CLOAK ON - /set irc.server.oftc.autojoin "#osm,#osm-de,#home-manager" - - /set irc.server.hackint.autojoin "#krebs,#nixos,#the_playlist" - /set irc.server.hackint.sasl_mechanism plain - /set irc.server.hackint.sasl_username ${nick} - /set irc.server.hackint.sasl_password ${lib.strings.fileContents } - - /set irc.server.libera.autojoin "#flipdot,#haskell,#nixos,#fysi,#binaergewitter" - /set irc.server.libera.sasl_mechanism plain - /set irc.server.libera.sasl_username ${nick} - /set irc.server.libera.sasl_password ${lib.strings.fileContents } - - /set irc.server.retiolum.autojoin "#xxx,#brockman,#flix,#autowifi" - /set irc.server.retiolum.command "/oper admin aidsballs;/msg nickserv always-on true;/msg nickserv autoreplay-missed on;/msg nickserv auto-away" - /set irc.server.retiolum.sasl_mechanism plain - /set irc.server.retiolum.sasl_username ${nick} - /set irc.server.retiolum.sasl_password ${lib.strings.fileContents } - - /set irc.server.news.autojoin "#cook,#drachengame,#oepnv,#kmeinung,#memes" - /set irc.server.news.command "/oper aids balls" - /set logger.level.irc.news 0 - - /filter addreplace zerocovid * * [kc]orona|💉|🤒|😷|[kc]ovid|virus|lockdown|va[kc][sc]in|mutante|mutation|impf|pandemi|κορ[ωο]ν[αο]ϊό|корона|expert|infe[ck]t|infizi|in[cz]iden[cz]|sars-cov|drosten|virolog|lauterbach|delta|omi[ck]ron|epidemi|booster|r-wert - /filter addreplace joinquit * irc_join,irc_part,irc_quit,irc_nick * - /filter addreplace playlist_topic irc.*.#the_playlist irc_topic * - /filter addreplace brockman_notice irc.news.* irc_notice * - - /set irc.look.server_buffer independent - - /connect libera - /connect oftc - /connect hackint - /connect retiolum - /connect news + weechat = pkgs.weechat-declarative.override { + config = { + scripts = [ + pkgs.weechatScripts.weechat-autosort + pkgs.weechatScripts.colorize_nicks + pkgs.weechatScripts.weechat-matrix + ]; + settings = let nick = "kmein"; in { + weechat = { + look.mouse = true; + color.chat_nick_colors = lib.lists.subtractLists (lib.range 52 69 ++ lib.range 231 248) (lib.range 31 254); + }; + irc = { + look.server_buffer = "independent"; + server_default = { + nicks = nick; + msg_part = "tschö mit ö"; + msg_quit = "ciao kakao"; + msg_kick = "warum machst du diese?"; + realname = kieran.name; + }; + server = { + hackint = { + autoconnect = false; + address = "irc.hackint.org/6697"; + ipv6 = true; + ssl = true; + autojoin = [ "#krebs" "#nixos" "#the_playlist" ]; + sasl_mechanism = "plain"; + sasl_username = nick; + sasl_password = lib.strings.fileContents ; + }; + libera = { + autoconnect = false; + address = "irc.libera.chat/6697"; + ssl = true; + autojoin = [ "#flipdot" "#haskell" "#nixos" "#fysi" "#binaergewitter" ]; + sasl_mechanism = "plain"; + sasl_username = nick; + sasl_password = lib.strings.fileContents ; + }; + oftc = { + autoconnect = false; + address = "irc.oftc.net/6697"; + ssl = true; + ipv6 = true; + command = lib.concatStringsSep "\\;" [ + "/msg nickserv identify ${lib.strings.fileContents }" + "/msg nickserv set cloak on" + ]; + autojoin = [ "#osm" "#osm-de" "#home-manager" ]; + }; + retiolum = { + autoconnect = false; + address = "irc.r"; + autojoin = [ "#xxx" "#brockman" "#flix" "#autowifi" ]; + command = lib.concatStringsSep "\\;" [ + "/oper admin aidsballs" + "/msg nickserv always-on true" + "/msg nickserv autoreplay-missed on" + "/msg nickserv auto-away" + ]; + sasl_mechanism = "plain"; + sasl_username = nick; + sasl_password = lib.strings.fileContents ; + }; + news = { + autoconnect = false; + address = "news.r"; + autojoin = [ "#cook" "#drachengame" "#oepnv" "#kmeinung" "#memes" ]; + command = "/oper aids balls"; + }; + }; + }; + logger.level.irc.news = 0; + matrix.server.nibbana = { + address = "nibbana.jp"; + username = nick; + password = lib.strings.fileContents ; + autoconnect = false; + }; + alias.cmd.mod = "/quote omode $channel +o $nick"; + relay = { + port.weechat = 9000; + network.password = relayPassword; + }; + filters = { + zerocovid = { + buffer = "*"; + tags = [ "*" ]; + regex = "[kc]orona|💉|🤒|😷|[kc]ovid|virus|lockdown|va[kc][sc]in|mutante|mutation|impf|pandemi|κορ[ωο]ν[αο]ϊό|корона|expert|infe[ck]t|infizi|in[cz]iden[cz]|sars-cov|drosten|virolog|lauterbach|delta|omi[ck]ron|epidemi|booster|r-wert"; + }; + joinquit = { + buffer = "*"; + tags = [ "irc_join" "irc_part" "irc_quit" "irc_nick" ]; + regex = "*"; + }; + playlist_topic = { + buffer = "irc.*.#the_playlist"; + tags = [ "irc_topic" ]; + regex = "*"; + }; + brockman_notice = { + buffer = "irc.news.*"; + tags = [ "irc_notice" ]; + regex = "*"; + }; + }; + }; + extraCommands = '' + /connect -all /matrix connect nibbana ''; };