From 66b0945abd8ffd8e4485a97bbe321aee561b26c1 Mon Sep 17 00:00:00 2001 From: KnightArtorias Date: Mon, 22 Jun 2026 18:49:07 -0400 Subject: [PATCH] Modify Element config for modern WebRTC --- modules/hosts/crow/configuration.nix | 30 +++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/modules/hosts/crow/configuration.nix b/modules/hosts/crow/configuration.nix index 016aca2..2dbb1fe 100644 --- a/modules/hosts/crow/configuration.nix +++ b/modules/hosts/crow/configuration.nix @@ -37,15 +37,39 @@ lutris steam easyeffects + openssl + jq - # Wrap Element so it knows where gnome-libsecret it - (symlinkJoin { + # Wrap Element so it knows where gnome-libsecret is + # Additionally, override the config to disable legacy call protocol + (let + elementConfig = pkgs.writeText "element-config.json" (builtins.toJSON { + default_server_config = { + "m.homeserver" = { + base_url = "https://starling.mynest.love"; + server_name = "starling.mynest.love"; + }; + }; + features = { + "feature_group_calls" = true; + "feature_video_rooms" = false; + "feature_element_call_video_rooms" = false; + }; + element_call = { + url = null; + use_exclusively = true; + }; + jitsi = { + preferred_domain = null; + }; + }); + in symlinkJoin { name = "element-desktop"; paths = [ element-desktop ]; nativeBuildInputs = [ makeWrapper ]; postBuild = '' wrapProgram $out/bin/element-desktop \ - --add-flags "--password-store=gnome-libsecret" + --add-flags "--password-store=gnome-libsecret --config-path ${elementConfig}" ''; }) ];