]> Git — Sourcephile - julm/julm-nix.git/blob - homes/softwares/irssi/config
nix: update flakes and patches
[julm/julm-nix.git] / homes / softwares / irssi / config
1 settings = {
2 core = {
3 real_name = "Julien Moutinho";
4 user_name = "julm";
5 nick = "julm";
6 timestamp_format = "%H:%M ";
7 log_create_mode = "660";
8 log_timestamp = "%Y-%m-%d %H:%M:%S%p ";
9 settings_autosave = "no";
10 };
11 "irc/core" = {
12 alternate_nick = "julm_";
13 # Recommended by https://github.com/cryptodotis/irssi-otr/blob/master/README.md
14 cmd_queue_speed = "1msec";
15 };
16 silc = {
17 sign_private_messages = "yes";
18 sign_channel_messages = "yes";
19 };
20 "fe-common/core" = {
21 autolog = "yes";
22 autolog_path = "~/log/irssi/$tag/$0/%Y-%m-%d.log";
23 names_max_columns = "9";
24 autolog_ignore_targets = "FreeNode/NickServ GeekNode/C";
25 beep_msg_level = "MSGS NOTICES INVITES DCC DCCMSGS HILIGHT";
26 };
27 "fe-text" = {
28 actlist_sort = "refnum";
29 paste_join_multiline = "no";
30 };
31 "perl/core/scripts" = {
32 awl_block = "20";
33 awl_shared_sbar = "OFF";
34 awl_viewer = "no";
35 nicklist_width = "13";
36 nickcolor_enable_prefix = "OFF";
37 nickcolor_enable_truncate = "ON";
38 nickcolor_truncate_value = "-13";
39 title_string = "IRC: $winname$T";
40 };
41 #proxy = {
42 # irssiproxy_password = "";
43 # irssiproxy_ports = "GeekNode=2777 FreeNode=2778 OFTC=2779 ToileLibre=2780 IndyMedia=2781";
44 # irssiproxy_bind = "127.0.0.1";
45 #};
46 };
47 chatnets = {
48 FreeNode = {
49 type = "IRC";
50 nick = "julm";
51 autosendcmd = "";
52 # Cannot use dynamic password on SASL, and sasl.auth is not encrypted.
53 #sasl_mechanism = "PLAIN";
54 #sasl_username = "julm";
55 #sasl_password = "<password:FreeNode>";
56 };
57 GeekNode = {
58 type = "IRC";
59 nick = "julm";
60 autosendcmd = "passwd GeekNode msg C nick identify <password>";
61 };
62 ToileLibre = {
63 type = "IRC";
64 nick = "julm";
65 autosendcmd = "";
66 };
67 };
68 servers = (
69 { chatnet = "FreeNode";
70 address = "irc.freenode.net";
71 port = "6697";
72 use_ssl = "yes";
73 ssl_verify = "yes";
74 autoconnect = "yes";
75 password = "<password:FreeNode>";
76 },
77 { chatnet = "GeekNode";
78 address = "irc.geeknode.net";
79 port = "6697";
80 use_ssl = "yes";
81 ssl_verify = "yes";
82 autoconnect = "yes";
83 # GeekNode does not use NickServ but C
84 #password = "<password:GeekNode>";
85 },
86 { chatnet = "IndyMedia";
87 address = "irc.indymedia.org";
88 port = "6697";
89 use_ssl = "yes";
90 ssl_verify = "yes";
91 autoconnect = "yes";
92 password = "<password:IndyMedia>";
93 },
94 { chatnet = "ToileLibre";
95 address = "lenine-irc.wirefull.org";
96 port = "6697";
97 use_ssl = "yes";
98 ssl_verify = "no";
99 autoconnect = "yes";
100 password = "<password:ToileLibre>";
101 }
102 { chatnet = "OFTC";
103 address = "irc.oftc.net";
104 port = "6697";
105 use_ssl = "yes";
106 ssl_verify = "yes";
107 autoconnect = "no";
108 }
109 );
110 channels = (
111 { chatnet = "FreeNode"; name = "haskell-docs"; autojoin = "yes"; },
112 { chatnet = "FreeNode"; name = "haskell-fr"; autojoin = "yes"; },
113 { chatnet = "FreeNode"; name = "haskell.nix"; autojoin = "yes"; },
114 { chatnet = "FreeNode"; name = "ilico"; autojoin = "yes"; },
115 { chatnet = "FreeNode"; name = "l_heureux-cyclage"; autojoin = "no"; },
116 { chatnet = "FreeNode"; name = "lobsters-feed"; autojoin = "yes"; },
117 { chatnet = "FreeNode"; name = "nix-community"; autojoin = "yes"; },
118 { chatnet = "FreeNode"; name = "nixos"; autojoin = "yes"; },
119 { chatnet = "FreeNode"; name = "nixos-aarch64"; autojoin = "yes"; },
120 { chatnet = "FreeNode"; name = "nixos-chat"; autojoin = "yes"; },
121 { chatnet = "FreeNode"; name = "nixos-dev"; autojoin = "yes"; },
122 { chatnet = "FreeNode"; name = "nixos-fr"; autojoin = "yes"; },
123 { chatnet = "FreeNode"; name = "nixos-gnome"; autojoin = "yes"; },
124 { chatnet = "FreeNode"; name = "nixos-nur"; autojoin = "yes"; },
125 { chatnet = "FreeNode"; name = "nixos-security"; autojoin = "yes"; },
126 { chatnet = "FreeNode"; name = "nixos-systemd"; autojoin = "yes"; },
127 { chatnet = "FreeNode"; name = "stupidities"; autojoin = "yes"; },
128 { chatnet = "GeekNode"; name = "autogeree.net"; autojoin = "yes"; },
129 { chatnet = "GeekNode"; name = "grenode"; autojoin = "yes"; },
130 { chatnet = "GeekNode"; name = "gresille"; autojoin = "yes"; },
131 { chatnet = "GeekNode"; name = "illyse"; autojoin = "no"; },
132 { chatnet = "GeekNode"; name = "markas"; autojoin = "yes"; },
133 { chatnet = "GeekNode"; name = "rezine"; autojoin = "yes"; },
134 { chatnet = "GeekNode"; name = "sourcephile"; autojoin = "yes"; },
135 { chatnet = "GeekNode"; name = "notre-root"; autojoin = "yes"; },
136 { chatnet = "IndyMedia"; name = "fsb4"; autojoin = "yes"; }
137 { chatnet = "ToileLibre"; name = "fsb3"; autojoin = "yes"; }
138 );
139 statusbar = {
140 # formats:
141 # when using {templates}, the template is shown only if it's argument isn't
142 # empty unless no argument is given. for example {sb} is printed always,
143 # but {sb $T} is printed only if $T isn't empty.
144 items = {
145 # start/end text in statusbars
146 barstart = "{sbstart}";
147 barend = "{sbend}";
148 topicbarstart = "{topicsbstart}";
149 topicbarend = "{topicsbend}";
150 # treated "normally", you could change the time/user name to whatever
151 time = "{sb $Z}";
152 user = "%N{sbaway $A} ";
153 # treated specially .. window is printed with non-empty windows,
154 # window_empty is printed with empty windows
155 #window = "{sb $winref:$tag/$itemname{sbmode $M}}";
156 #window_empty = "{sb $winref{sbservertag $tag}}";
157 #prompt = "{prompt $[.15]itemname}";
158 #prompt_empty = "{prompt $winname}";
159 #window = "{sb $winref%K:%n$T%K(%n{sbmode $M}%K)%n}";
160 #window_empty = "{sb $winref{sbservertag $tag}}";
161 window = "{sb %c$winref%K:%c$T{sbmode $M}}";
162 window_empty = "{sb $winref{sbservertag $tag}}";
163 prompt = "{sbmode $[-6]usermode} {sbnickmode $[1]cumode}%K$[-12]N %c>%N ";
164 prompt_empty = "{sbmode $[-6]usermode} %K$[-12]N %c>%N ";
165 topic = " $topic";
166 topic_empty = " Irssi v$J - http://www.irssi.org";
167 # all of these treated specially, they're only displayed when needed
168 #more = "-- more --";
169 lag = "{sb %KLag%c:%K$0-}";
170 act = "{sb %KAct%c:%n$0-}";
171 away = "{sbaway $A}";
172 more = " -- more --";
173 };
174
175 # there's two type of statusbars. root statusbars are either at the top
176 # of the screen or at the bottom of the screen. window statusbars are at
177 # the top/bottom of each split window in screen.
178 default = {
179 # the "default statusbar" to be displayed at the bottom of the window.
180 # contains all the normal items.
181
182 window = {
183 # window, root
184 type = "window";
185 # top, bottom
186 placement = "bottom";
187 # number
188 position = "1";
189 # active, inactive, always
190 visible = "active";
191 # list of items in statusbar in the display order
192 items = {
193 barstart = { priority = "100"; };
194 time = { };
195 window = { };
196 window_empty = { };
197 user = { };
198 lag = { priority = "-1"; };
199 act = { priority = "10"; };
200 more = { priority = "-1"; alignment = "right"; };
201 barend = { priority = "100"; alignment = "right"; };
202 usercount = { priority = "100"; alignment = "right"; };
203 otr = { };
204 };
205 };
206
207 window_inact = {
208 type = "window";
209 placement = "bottom";
210 position = "1";
211 visible = "inactive";
212 items = {
213 barstart = { priority = "100"; };
214 window = { };
215 window_empty = { };
216 more = { priority = "-1"; alignment = "right"; };
217 barend = { priority = "100"; alignment = "right"; };
218 };
219 disabled = "yes";
220 };
221
222 # Treat input line as yet another statusbar :)
223 # It's possible to add other items before or after the input line item.
224 prompt = {
225 type = "root";
226 placement = "bottom";
227 position = "100";
228 visible = "always";
229 items = {
230 prompt = { priority = "-1"; };
231 prompt_empty = { priority = "-1"; };
232 # treated specially, this is the real input line.
233 input = { priority = "10"; };
234 };
235 };
236
237 topic = {
238 type = "root";
239 placement = "top";
240 position = "1";
241 visible = "always";
242 items = {
243 topicbarstart = { priority = "100"; };
244 topic = { };
245 topic_empty = { };
246 topicbarend = { priority = "100"; alignment = "right"; };
247 };
248 };
249
250 type = { disabled = "yes"; };
251 };
252 };
253 hilights = (
254 { text = "julm"; nick = "yes"; word = "yes"; },
255 { text = "ju1m"; nick = "yes"; word = "yes"; }
256 );
257 ignores = (
258 { level = "ALL"; mask = "luminux"; },
259 { level = "ALL"; mask = "dameloo"; },
260 { level = "NO_ACT ALL"; mask = "NixOS_GitHub"; },
261 { level = "NO_ACT ALL"; mask = "nix-gsc-io`bot"; },
262 { level = "NO_ACT ALL"; mask = "nix-build"; },
263 { level = "NO_ACT ALL"; mask = "{^_^}"; },
264 { level = "NO_ACT ALL"; mask = "{`_`}"; },
265 { level = "CTCPS"; },
266 {
267 level = "JOINS PARTS QUITS NICKS";
268 channels = (
269 "#grenode",
270 "#gresille",
271 "#haskell",
272 "#haskell-docs",
273 "#haskell-fr",
274 "#haskell-ide-engine",
275 "#haskell.nix",
276 "#ilico",
277 "#lobsters-feed",
278 "#ghc",
279 "#nix-lang",
280 "#nix-community",
281 "#nixos",
282 "#nixos-aarch64",
283 "#nixos-chat",
284 "#nixos-dev",
285 "#nixos-fr",
286 "#nixos-gnome",
287 "#nixos-nur",
288 "#nixos-security",
289 "#nixos-systemd",
290 "#nixops",
291 "#purescript",
292 "#rezine",
293 "#spectrum"
294 );
295 }
296 );
297 windows = {
298 1 = { immortal = "yes"; name = "(status)"; level = "ALL"; };
299 };
300