{ config, pkgs, lib, ... }: { programs.irssi = { enable = true; aliases = { WINC = "window close"; WII = "whois $0 $0"; J = "join"; W = "who"; N = "names"; CL = "clear"; K = "kick"; KB = "kickban"; BANS = "ban"; SB = "scrollback"; UMODE = "mode $N"; WC = "window close"; GOTO = "sb goto"; }; extraConfig = '' settings = { core = { real_name = "David Morgan"; user_name = "djm"; nick = "djm"; timestamp_format = "%H:%M:%S"; }; "irc/core" = { usermode = "+iwR"; }; "fe-common/core" = { autolog_path = "~/irclogs/%Y/$tag/$0.%m-%d.log"; autolog = "yes"; #beep_msg_level = "hilight msgs"; beep_when_away = "yes"; #activity_hide_level = "none"; #theme = "default"; hide_colors = "yes"; }; "fe-text" = { paste_verify_line_count = "1"; actlist_sort = "refnum"; paste_join_multiline = "yes"; }; hilights = ( { text = "djm"; nick = "yes"; word = "yes"; fullword = "yes"; matchcase = "yes"; } ); } windows = { 1 = { immortal = "yes"; name = "(status)"; level = "ALL"; }; 2 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#institute"; tag = "tilde"; }); }; 3 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#meta"; tag = "tilde"; }); }; 4 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#blinkenshell"; tag = "blinkenirc"; }); }; 5 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#blinkenshell.op"; tag = "blinkenirc"; }); }; 6 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#prosapologian"; tag = "refchat"; }); }; 7 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#clojure"; tag = "libera"; }); }; 8 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#emacs"; tag = "libera"; }); }; 9 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#emacs"; tag = "tilde"; }); }; 10 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#ctrl-c"; tag = "tilde"; }); }; 11 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#team"; tag = "tilde"; }); }; 12 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#systemcrafters"; tag = "libera"; }); }; 13 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#!"; tag = "hashbang"; }); }; 14 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#nixos"; tag = "libera"; }); }; 15 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#home-manager"; tag = "oftc"; }); }; 16 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "&bitlbee"; tag = "bitlbee"; }); }; 17 = { items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#twitter_deejayem"; tag = "bitlbee"; }); }; }; ''; networks = { libera = { nick = "djm"; server = { address = "irc.libera.chat"; port = 6697; autoConnect = true; ssl = { enable = true; verify = false; certificateFile = "${config.home.homeDirectory}/.irssi/libera.pem"; }; }; channels = { clojure.autoJoin = true; emacs.autoJoin = true; nixos.autoJoin = true; systemcrafters.autoJoin = true; }; }; tilde = { nick = "djm"; server = { address = "irc.tilde.chat"; port = 6697; autoConnect = true; ssl = { enable = true; verify = true; certificateFile = "${config.home.homeDirectory}/.irssi/tilde.pem"; }; }; channels = { ctrl-c.autoJoin = true; emacs.autoJoin = true; institute.autoJoin = true; meta.autoJoin = true; team.autoJoin = true; }; }; blinkenirc = { nick = "djm"; autoCommands = [ "msg chanserv invite #blinkenshell.op" "wait 2000" ]; server = { address = "irc.blinkenshell.org"; port = 6697; autoConnect = true; ssl = { enable = true; verify = true; certificateFile = "${config.home.homeDirectory}/.irssi/blinkenirc.pem"; }; }; channels = { blinkenshell.autoJoin = true; "blinkenshell.op".autoJoin = true; }; }; hashbang = { nick = "djm"; server = { address = "irc.hashbang.sh"; port = 6697; autoConnect = true; ssl = { enable = true; verify = true; certificateFile = "${config.home.homeDirectory}/.irssi/hashbang.pem"; }; }; channels = { "!".autoJoin = true; }; }; refchat = { nick = "djm"; server = { address = "gill.refchat.net"; port = 6697; autoConnect = true; ssl = { enable = true; verify = false; certificateFile = "${config.home.homeDirectory}/.irssi/refchat.pem"; }; }; channels = { prosapologian.autoJoin = true; }; }; bitlbee = { nick = "djm"; autoCommands = [ "bitlbee_identify" ]; server = { address = "testing.bitlbee.org"; port = 6697; autoConnect = true; ssl = { enable = true; }; }; }; }; }; }