aboutsummaryrefslogtreecommitdiff
path: root/src/config.rs
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2021-05-15 13:58:01 +0200
committerMax Audron <audron@cocaine.farm>2021-05-15 13:58:01 +0200
commitd0bff910b0b038ee85bc285bef7a63870a3474ab (patch)
treeb840d0b932c080fa5d5053b6bf66a91f94a80481 /src/config.rs
init
Diffstat (limited to '')
-rw-r--r--src/config.rs46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/config.rs b/src/config.rs
new file mode 100644
index 0000000..f7a0934
--- /dev/null
+++ b/src/config.rs
@@ -0,0 +1,46 @@
+use serde::Deserialize;
+
+#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Default, Deserialize)]
+pub struct Config {
+ pub user: User,
+ pub server: Server,
+ pub settings: Settings,
+}
+
+impl From<Config> for irc::client::prelude::Config {
+ fn from(input: Config) -> Self {
+ Self {
+ nickname: Some(input.user.nickname),
+ username: Some(input.user.username),
+ realname: Some(input.user.realname),
+ nick_password: Some(input.user.password),
+ server: Some(input.server.hostname),
+ port: Some(input.server.port),
+ use_tls: Some(input.server.tls),
+ channels: input.server.channels,
+ ..irc::client::prelude::Config::default()
+ }
+ }
+}
+
+#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Default, Deserialize)]
+pub struct User {
+ pub nickname: String,
+ pub username: String,
+ pub password: String,
+ pub realname: String,
+}
+
+#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Default, Deserialize)]
+pub struct Server {
+ pub hostname: String,
+ pub port: u16,
+ pub tls: bool,
+ pub sasl: bool,
+ pub channels: Vec<String>,
+}
+
+#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Default, Deserialize)]
+pub struct Settings {
+ pub prefix: char,
+}
td>Max Audron-4/+6 2025-11-14move git hosting to plain git-shell and cgitMax Audron-34/+126 reject modernity, embrace linus 2025-10-26fix slskd stuffMax Audron-22/+67 2025-10-23uhMax Audron-9/+31 2025-10-22deploy soulseek and fix tlmp VPNMax Audron-47/+1744 2025-10-21add slskdMax Audron-1/+124 2025-10-10update nixpkgs-unstableMax Audron-3/+3 2025-10-10setup mailserverMax Audron-27/+213 2025-09-20replace dns bgp anouncementMax Audron-2/+2 2025-09-15update flaresolverrMax Audron-1/+1 2025-09-07add audron windows wg keyMax Audron-0/+8 2025-09-02switch out vultr dns ipv4 ipMax Audron-1/+5 2025-08-11disable homepage trackersMax Audron-3/+3 2025-08-11add mail serverMax Audron-1/+245 2025-08-05add prometheus alerting rulesMax Audron-38/+144 2025-08-01add homepage dashboardMax Audron-3/+284 2025-08-01disable not used gameserversMax Audron-1/+2 2025-08-01add minecraft prometheus exporterMax Audron-3/+67 2025-08-01more monitoring & scrape config shortcutsMax Audron-68/+63 2025-08-01update garage to 2.0Max Audron-6/+10 2025-07-31fix authentik-ldap port bindingsMax Audron-0/+5 2025-07-31update to nixos 25.05Max Audron-113/+65 2025-07-31add more monitoring exporters and scrapersMax Audron-17/+57 2025-07-30try to run authentik nativelyMax Audron-26/+303 2025-07-30more metricsMax Audron-1/+41 2025-07-30enable firewallsMax Audron-1/+39