about summary refs log tree commit diff stats
path: root/nix-conf/home/includes
diff options
context:
space:
mode:
authorDavid Morgan <djm_uk@protonmail.com>2022-11-11 07:43:25 +0000
committerDavid Morgan <djm_uk@protonmail.com>2022-11-11 07:43:25 +0000
commit4b9f7ce18a0ac01d4c396687552ec27eb5365569 (patch)
tree9e3e6b5016dd828eb15f3c1a60ec0764e7bcc762 /nix-conf/home/includes
parentcdd711f5a7094fabdfca253188ba85b7653788b2 (diff)
downloaddotfiles-4b9f7ce18a0ac01d4c396687552ec27eb5365569.tar.gz
Add irssi config
Diffstat (limited to 'nix-conf/home/includes')
-rw-r--r--nix-conf/home/includes/irssi.nix177
1 files changed, 177 insertions, 0 deletions
diff --git a/nix-conf/home/includes/irssi.nix b/nix-conf/home/includes/irssi.nix
new file mode 100644
index 0000000..04f8e28
--- /dev/null
+++ b/nix-conf/home/includes/irssi.nix
@@ -0,0 +1,177 @@
+{ 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;
+          };
+        };
+      };
+    };
+  };
+}