From 877e806b3a3a6ea70277087ce7f660a4e9feaf83 Mon Sep 17 00:00:00 2001 From: Grisha Shipunov Date: Wed, 5 Feb 2025 18:11:49 +0000 Subject: add conduwuit matrix server --- hosts/conduwuit/conduwuit.nix | 24 ++++++++++++++ hosts/conduwuit/default.nix | 77 +++++++++++++++++++++++++++++++++++++++++++ hosts/conduwuit/secrets.yaml | 42 +++++++++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 hosts/conduwuit/conduwuit.nix create mode 100644 hosts/conduwuit/default.nix create mode 100644 hosts/conduwuit/secrets.yaml (limited to 'hosts/conduwuit') diff --git a/hosts/conduwuit/conduwuit.nix b/hosts/conduwuit/conduwuit.nix new file mode 100644 index 0000000..6baafa6 --- /dev/null +++ b/hosts/conduwuit/conduwuit.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: +{ + services.matrix-conduit = { + enable = true; + package = pkgs.conduwuit; + settings = { + global = { + database_backend = "rocksdb"; + new_user_displayname_suffix = ""; + port = 6167; + server_name = "oxapentane.com"; + address = "0.0.0.0"; + trusted_servers = [ + "matrix.org" + "matrix.c3d2.de" + ]; + well_known = { + client = "https://oxapentane.com"; + server = "oxapentane.com:443"; + }; + }; + }; + }; +} diff --git a/hosts/conduwuit/default.nix b/hosts/conduwuit/default.nix new file mode 100644 index 0000000..59beed8 --- /dev/null +++ b/hosts/conduwuit/default.nix @@ -0,0 +1,77 @@ +{ config, lib, ... }: +let + mac = "02:00:00:00:00:06"; +in +{ + imports = [ + ./conduwuit.nix + ]; + sops.defaultSopsFile = ./secrets.yaml; + sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; + + sops.secrets = { + "wg/0xa-proxy" = { + owner = config.users.users.systemd-network.name; + }; + }; + + microvm = { + hypervisor = "qemu"; + mem = 3 * 1024; + vcpu = 2; + interfaces = [ + { + type = "tap"; + id = "uvm-conduwuit"; + mac = mac; + } + ]; + shares = + [ + { + source = "/nix/store"; + mountPoint = "/nix/.ro-store"; + tag = "store"; + proto = "virtiofs"; + socket = "store.socket"; + } + ] + ++ map + (dir: { + source = dir; + mountPoint = "/${dir}"; + tag = dir; + proto = "virtiofs"; + socket = "${dir}.socket"; + }) + [ + "etc" + "var" + "home" + ]; + }; + + networking.useNetworkd = true; + networking.firewall.enable = lib.mkForce false; # firewalling done by the host + + systemd.network = { + enable = true; + networks."11-host" = { + matchConfig.MACAddress = mac; + networkConfig = { + Address = "10.99.99.16/24"; + DHCP = "no"; + }; + routes = [ + { + Gateway = "10.99.99.1"; + Destination = "0.0.0.0/0"; + Metric = 1024; + } + ]; + }; + }; + + networking.hostName = "conduwuit"; + system.stateVersion = "24.11"; +} diff --git a/hosts/conduwuit/secrets.yaml b/hosts/conduwuit/secrets.yaml new file mode 100644 index 0000000..bf1f154 --- /dev/null +++ b/hosts/conduwuit/secrets.yaml @@ -0,0 +1,42 @@ +wg: + 0xa-proxy: ENC[AES256_GCM,data:e09UIAn928uOf6asUaFSg0VDoeShWGyd1c5gF0O0nwVEk/1ldVvaIyWMcwk=,iv:FS+LAI0S5XOOQO4WVpNfEUIxYHGY1YT6mITh8FpSiZU=,tag:1eM6wN98D3Bz0XlikCu5Gg==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1vd78txz0chk8sum3tceamg7u6enzcclh3vnpjswyrmarvmdmp46qdx7mqt + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1akxzWFkzSWJYYk4raFlI + ZStVb1RaV1JUZFNZNlFvQUFmeWwrdDBjSFhrCmpuMmFrUWpXNkdwRThJamcrVGRD + NU41VkRwWEJ3TnhYMmt2UFZMemZDZ28KLS0tIDl6bzJXNkd2SjVldDltNDZWS1ZX + ZU9oZVVSQkwzWHE0ODNZbmtuNnRuQjAKP2zLzUDCe2aZKVzLjPloqirNyac7UcwX + q/hHXH/v0HPjCbjfbleEqN9g0r4RiaHVscpl/viaoIAnAlQcrtj6UQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-02-05T20:41:18Z" + mac: ENC[AES256_GCM,data:LPaVDxkZF3hlDIemauZpGngWspGzLINuhI4UIdP1+vP5gX0EBVhpZWty9wCSfJEeuU1ycKPJFAok0A3hgLbXQdjlvTxW/ba5g3hvVHEoyCXPrOPZiEK2EsFZRaM99tMOijBODVHkGhRY2O0sms0OLs+oQg6A+9fe14+dZxoUjWw=,iv:spAY8/Ghs8XhbNgKB8NQILC/qC8tBPiInnOOzfnuxZI=,tag:cLAmIvb4p0Sz2IIEk98/rg==,type:str] + pgp: + - created_at: "2025-02-05T20:40:53Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA7zUOKwzpAE7AQ/7BZQnlte11FqJkoLZWL8zZzou73zSLspXn1QJNYs0aQck + PhFbsuDvmyGWucvcyHTSuTUpcKMchGeClB5ebCLRzmc8FpFF149XTk+PtHx3P+W9 + CfuokL2CX6oP6xGg4+yVOPt3fY8KzMXUcCJt7Jm9u18M9WGxAHIdfWlDCAnTC1b2 + LnaOLeq9Azaz6QHn4DxGnNUI26HYa+fL7BzprqaSNlSoMm6A3kYttjw64oGE4Xom + qSgXariWdVxzjHevabj0rdMkSWM06q3B50Ug0oaaS1GChPiFDxM0ihngbKRgysfW + uws3FyUwWgDD2/jA4ocKlNkNOfynf252rnnDdn5AjzMsUXsPcTsJZbOLG8KCymmf + c8abr6fEi6TBbTAJaf2xEIL0mJHkiokYVh5gRCYSue9lGZm8n6yvIDxssJuwjBE5 + KktSbfWBInskoIHpmqcOAzJT11sxLv5Em3leU69rtuwv8SGo+4pbifvzF6rdjx8j + /qLElqKJUnugyLuXnFDJeIOYZkEmUUAOflVT/yCsVUgUvb6hjwZlegDdyQ3Ph7Ic + PibWs01ShaC4KKrq6Yk0n1c64SP+CsiCDGuVxLMrlMbRThyJtzWgS/3h9kH6rrCo + 4x7q6uM1B9+L3wn+uuObtxKF4feYv3bNvPCagOl8IIXk1Af88B1KPyGTnamrAcbS + XgFserwnAQbEXt0hE7CQWeo1W8rw3EUptBnuVqz5Um/yaDT+flgwFx6BpNHIGz+l + Od8iOIC/6UCGGS+6nNnz0bprvbuc7Ltfifv16Tpwb8Gsvse3lX8okwPVBNOQUrs= + =/7Ff + -----END PGP MESSAGE----- + fp: DD0998E6CDF294537FC604F991FA5E5BF9AA901C + unencrypted_suffix: _unencrypted + version: 3.9.4 -- cgit v1.3.1