stockholm/krebs/2configs/ircd.nix

122 lines
2.7 KiB
Nix
Raw Normal View History

2015-07-16 13:51:01 +00:00
{ config, pkgs, ... }:
{
2017-09-03 22:16:54 +00:00
networking.firewall.allowedTCPPorts = [
6667 6669
];
2015-10-09 11:21:25 +00:00
2021-05-18 21:59:41 +00:00
systemd.services.solanum.serviceConfig.LimitNOFILE = 16384;
2021-02-16 22:02:08 +00:00
2021-05-18 21:59:41 +00:00
krebs.solanum = {
2015-07-16 13:51:01 +00:00
enable = true;
2017-12-04 00:01:26 +00:00
motd = ''
hello
'';
2015-07-16 13:51:01 +00:00
config = ''
2021-01-07 23:36:43 +00:00
loadmodule "extensions/m_omode";
2015-07-16 13:51:01 +00:00
serverinfo {
2018-01-09 18:09:15 +00:00
name = "${config.krebs.build.host.name}.irc.r";
2015-10-08 23:09:13 +00:00
sid = "1as";
2021-02-16 22:02:08 +00:00
description = "irc!";
2018-01-09 18:09:15 +00:00
network_name = "irc.r";
2015-07-16 13:51:01 +00:00
vhost = "0.0.0.0";
vhost6 = "::";
#ssl_private_key = "etc/ssl.key";
#ssl_cert = "etc/ssl.cert";
#ssl_dh_params = "etc/dh.pem";
#ssld_count = 1;
2021-02-16 22:02:08 +00:00
default_max_clients = 2048;
2015-07-16 13:51:01 +00:00
#nicklen = 30;
};
listen {
defer_accept = yes;
/* If you want to listen on a specific IP only, specify host.
* host definitions apply only to the following port line.
*/
host = "0.0.0.0";
port = 6667;
2021-02-16 22:02:08 +00:00
#sslport = 6697;
2015-07-16 13:51:01 +00:00
/* Listen on IPv6 (if you used host= above). */
host = "::";
port = 6667;
2021-02-16 22:02:08 +00:00
#sslport = 6697;
2015-07-16 13:51:01 +00:00
};
class "users" {
ping_time = 2 minutes;
2015-10-15 12:46:12 +00:00
number_per_ident = 10;
2021-01-07 23:36:43 +00:00
number_per_ip = 4096;
2015-10-15 12:46:12 +00:00
number_per_ip_global = 4096;
2015-07-16 13:51:01 +00:00
cidr_ipv4_bitlen = 24;
cidr_ipv6_bitlen = 64;
2021-02-16 22:02:08 +00:00
number_per_cidr = 65535;
max_number = 65535;
sendq = 1000 megabyte;
2021-01-07 23:36:43 +00:00
};
privset "op" {
2021-05-25 18:09:18 +00:00
privs = oper:admin, oper:general;
2021-01-07 23:36:43 +00:00
};
operator "aids" {
user = "*@*";
password = "balls";
flags = ~encrypted;
snomask = "+s";
privset = "op";
2015-07-16 13:51:01 +00:00
};
exempt {
ip = "127.0.0.1";
};
2015-10-15 12:46:12 +00:00
exempt {
ip = "10.243.0.0/16";
};
2015-07-16 13:51:01 +00:00
auth {
user = "*@*";
class = "users";
2015-10-15 12:46:12 +00:00
flags = kline_exempt, exceed_limit, flood_exempt;
2015-07-16 13:51:01 +00:00
};
channel {
2021-03-26 19:04:35 +00:00
autochanmodes = "+t";
2015-07-16 13:51:01 +00:00
use_invex = yes;
use_except = yes;
use_forward = yes;
use_knock = yes;
knock_delay = 5 minutes;
knock_delay_channel = 1 minute;
2021-02-16 22:02:08 +00:00
max_chans_per_user = 150;
2015-07-16 13:51:01 +00:00
max_bans = 100;
max_bans_large = 500;
default_split_user_count = 0;
default_split_server_count = 0;
no_create_on_split = no;
no_join_on_split = no;
burst_topicwho = yes;
kick_on_split_riding = no;
only_ascii_channels = no;
resv_forcepart = yes;
channel_target_change = yes;
disable_local_channels = no;
};
2021-01-07 23:36:43 +00:00
2015-07-18 12:19:41 +00:00
general {
#maybe we want ident someday?
2021-01-07 23:36:43 +00:00
default_floodcount = 10000;
2015-07-18 12:19:41 +00:00
disable_auth = yes;
2017-05-09 18:40:11 +00:00
throttle_duration = 1;
2021-01-07 23:36:43 +00:00
throttle_count = 10000;
2015-07-18 12:19:41 +00:00
};
2015-07-16 13:51:01 +00:00
'';
};
}