214 lines
7.7 KiB
Nix
214 lines
7.7 KiB
Nix
|
{config, pkgs, lib, ...}:
|
||
|
|
||
|
let
|
||
|
metadata = pkgs.callPackage ../../../ops/metadata/peers.nix { };
|
||
|
info = metadata.raw."${config.networking.hostName}".solanum;
|
||
|
in {
|
||
|
services.solanum = {
|
||
|
enable = true;
|
||
|
motd = ''
|
||
|
NmmN Nmmmd.:mm
|
||
|
NmmmN NmmydmmmmmN
|
||
|
Nm/:mN Nmms /mmmmm
|
||
|
Nmm:-dm NmmmmdsdmmmmN
|
||
|
mmmmmmmN NmmdhhddhhmNN Nmy:hmmmmmmmm
|
||
|
Nm++mmmmN mdyo/::.........-:/sdN Nmmms`smmmmmmmN
|
||
|
md.-dmmmm mhs/-....................-+dN Nmmmmmmmmmmmmmm
|
||
|
Nmmmmmmmmho:-...........................:sN NmmmmmmmmmmmmmmmN Nmdd
|
||
|
Nmd+ydhs/-.................................-sNmmmmmmmmmmmmmmmdhyssss
|
||
|
NNh+`........................................:dmmmmmmmmmmmmmmmyssssss
|
||
|
NNdhy+:-...........................................+dmmmmmmmmmmmmmmmdsssssss
|
||
|
N+-...............................................-smmmmmmmmmmmmmmmmmysyyhdmN
|
||
|
Nho:::-.--::-.......................----------..:hmmmmmmmmmmmmmmmmmmmN
|
||
|
NNNmmdo:......................--------------:ymmmmmmmmmmmmmmmmmmm
|
||
|
ds+........................-----------------+dmmmmmmmmmmmmmmmmm
|
||
|
h+........................--------------------:smmmmmmmmmmmmmmN
|
||
|
Ny/........................-------------::--------/hmmmmmmmmmmmN Nmd
|
||
|
d/........................--------------so----------odmmmmmmmm Nmdhhysss
|
||
|
m/........................--------------+mh-----------:ymmmmdhhyysssssssss
|
||
|
o.......................---------------:dmmo------------+dmdysssssssssssss
|
||
|
yhdmNh:......................---------------:dmmmm+------------:sssssssssssyhhdm
|
||
|
sssssy.......................--------------:hmmmmmmos++:---------/sssyyhdmN
|
||
|
ssssso......................--------------:hmmmNNN Ndddysso:------:yNN
|
||
|
ysssss.....................--------------/dmNyy/m d``d/------------sN
|
||
|
Nmdhy-...................--------------ommmh`o/N /. smh+-----------:yN
|
||
|
N+...................------------/hmmss: `-//-.smmmmd+----------:h
|
||
|
d:..................----------:smmmmhy+oosyysdmmy+:. `.--------/d
|
||
|
h-................---------:smmmmmmmmmmmmmmmh/` `/s:-------s
|
||
|
ms:...............-------/ymmmmmmmmmmmmmmmd/ :d Ny/-----+m
|
||
|
myss/..............------ommmmmmmmmmmmmmmmd. :y Ns:---+m
|
||
|
Ndssssso-............----..odmmmmmmmmmmmmmmh:.` .sN d/--s
|
||
|
mysssssssh/................` -odmmmmmmmmmh+. `om h/+m
|
||
|
Ndyssssssym Ny-.............. `/sssso+:. `+m dN
|
||
|
NhssssssshN No:............/.` `+d
|
||
|
ysssssssd m+-..........+ddy/.` -om
|
||
|
ssssssym h/.........-oN Nmy+--` `-+dN
|
||
|
ssssydN Ny:........-h Nmdm
|
||
|
sssym m+....-..:h
|
||
|
symN No.../-/d
|
||
|
dN h:.:hyN
|
||
|
'';
|
||
|
config = ''
|
||
|
loadmodule "extensions/chm_adminonly";
|
||
|
loadmodule "extensions/chm_nonotice";
|
||
|
loadmodule "extensions/chm_operonly";
|
||
|
loadmodule "extensions/chm_sslonly";
|
||
|
#loadmodule "extensions/chm_operpeace";
|
||
|
#loadmodule "extensions/createauthonly";
|
||
|
loadmodule "extensions/extb_account";
|
||
|
loadmodule "extensions/extb_canjoin";
|
||
|
loadmodule "extensions/extb_channel";
|
||
|
loadmodule "extensions/extb_combi";
|
||
|
loadmodule "extensions/extb_extgecos";
|
||
|
loadmodule "extensions/extb_hostmask";
|
||
|
loadmodule "extensions/extb_oper";
|
||
|
loadmodule "extensions/extb_realname";
|
||
|
loadmodule "extensions/extb_server";
|
||
|
loadmodule "extensions/extb_ssl";
|
||
|
loadmodule "extensions/extb_usermode";
|
||
|
#loadmodule "extensions/helpops";
|
||
|
#loadmodule "extensions/hurt";
|
||
|
loadmodule "extensions/ip_cloaking_4.0";
|
||
|
#loadmodule "extensions/ip_cloaking";
|
||
|
#loadmodule "extensions/m_extendchans";
|
||
|
#loadmodule "extensions/m_findforwards";
|
||
|
#loadmodule "extensions/m_identify";
|
||
|
#loadmodule "extensions/m_locops";
|
||
|
#loadmodule "extensions/no_oper_invis";
|
||
|
loadmodule "extensions/sno_farconnect";
|
||
|
loadmodule "extensions/sno_globalnickchange";
|
||
|
loadmodule "extensions/sno_globaloper";
|
||
|
#loadmodule "extensions/sno_whois";
|
||
|
loadmodule "extensions/override";
|
||
|
loadmodule "extensions/no_kill_services";
|
||
|
|
||
|
serverinfo {
|
||
|
name = "${config.networking.hostName}.alrest";
|
||
|
sid = "${info.sid}";
|
||
|
description = "${info.description}";
|
||
|
network_name = "akua";
|
||
|
};
|
||
|
|
||
|
listen {
|
||
|
host = "0.0.0.0";
|
||
|
port = 6667;
|
||
|
};
|
||
|
|
||
|
class "users" {
|
||
|
ping_time = 2 minutes;
|
||
|
number_per_ident = 10;
|
||
|
number_per_ip = 10;
|
||
|
number_per_ip_global = 50;
|
||
|
cidr_ipv4_bitlen = 24;
|
||
|
cidr_ipv6_bitlen = 64;
|
||
|
number_per_cidr = 200;
|
||
|
max_number = 3000;
|
||
|
sendq = 400 kbytes;
|
||
|
};
|
||
|
|
||
|
class "opers" {
|
||
|
ping_time = 5 minutes;
|
||
|
number_per_ip = 10;
|
||
|
max_number = 1000;
|
||
|
sendq = 1 megabyte;
|
||
|
};
|
||
|
|
||
|
class "server" {
|
||
|
ping_time = 5 minutes;
|
||
|
connectfreq = 5 minutes;
|
||
|
max_number = 420;
|
||
|
sendq = 4 megabytes;
|
||
|
};
|
||
|
|
||
|
auth {
|
||
|
user = "*@*";
|
||
|
class = "users";
|
||
|
flags = exceed_limit;
|
||
|
};
|
||
|
|
||
|
channel {
|
||
|
default_split_user_count = 0;
|
||
|
};
|
||
|
|
||
|
privset "local_op" {
|
||
|
privs = oper:general, oper:privs, oper:testline, oper:kill, oper:operwall, oper:message,
|
||
|
usermode:servnotice, auspex:oper, auspex:hostname, auspex:umodes, auspex:cmodes;
|
||
|
};
|
||
|
|
||
|
privset "server_bot" {
|
||
|
/* extends: a privset to inherit in this privset */
|
||
|
extends = "local_op";
|
||
|
privs = oper:kline, oper:remoteban, snomask:nick_changes;
|
||
|
};
|
||
|
|
||
|
privset "global_op" {
|
||
|
extends = "local_op";
|
||
|
privs = oper:routing, oper:kline, oper:unkline, oper:xline,
|
||
|
oper:resv, oper:cmodes, oper:mass_notice, oper:wallops,
|
||
|
oper:remoteban;
|
||
|
};
|
||
|
|
||
|
privset "admin" {
|
||
|
extends = "global_op";
|
||
|
privs = oper:admin, oper:die, oper:rehash, oper:spy, oper:grant, oper:privs;
|
||
|
};
|
||
|
|
||
|
operator "Mara" {
|
||
|
user = "*@*";
|
||
|
password = "L/b5FCMZ1DUc2";
|
||
|
snomask = "+Zbfkrsuy";
|
||
|
flags = encrypted;
|
||
|
privset = "admin";
|
||
|
};
|
||
|
|
||
|
connect "kos-mos.alrest" {
|
||
|
host = "100.72.50.9";
|
||
|
send_password = "hunter2";
|
||
|
accept_password = "hunter2";
|
||
|
port = 6667;
|
||
|
class = "server";
|
||
|
flags = topicburst, autoconn;
|
||
|
};
|
||
|
|
||
|
connect "logos.alrest" {
|
||
|
host = "100.106.69.58";
|
||
|
send_password = "hunter2";
|
||
|
accept_password = "hunter2";
|
||
|
port = 6667;
|
||
|
class = "server";
|
||
|
flags = topicburst, autoconn;
|
||
|
};
|
||
|
|
||
|
connect "ontos.alrest" {
|
||
|
host = "100.66.226.109";
|
||
|
send_password = "hunter2";
|
||
|
accept_password = "hunter2";
|
||
|
port = 6667;
|
||
|
class = "server";
|
||
|
flags = topicburst, autoconn;
|
||
|
};
|
||
|
|
||
|
connect "pneuma.alrest" {
|
||
|
host = "100.120.235.118";
|
||
|
send_password = "hunter2";
|
||
|
accept_password = "hunter2";
|
||
|
port = 6667;
|
||
|
class = "server";
|
||
|
flags = topicburst, autoconn;
|
||
|
};
|
||
|
|
||
|
connect "services." {
|
||
|
host = "100.67.184.57";
|
||
|
send_password = "hunter2";
|
||
|
accept_password = "hunter2";
|
||
|
class = "server";
|
||
|
};
|
||
|
|
||
|
service {
|
||
|
name = "services.";
|
||
|
};
|
||
|
'';
|
||
|
openFilesLimit = 65536;
|
||
|
};
|
||
|
}
|