diff --git a/config/endpoints/matrix.nix b/config/endpoints/matrix.nix index 7135226..7c81689 100644 --- a/config/endpoints/matrix.nix +++ b/config/endpoints/matrix.nix @@ -58,7 +58,7 @@ in "org.matrix.msc4143.rtc_foci": [ { "type": "livekit", - "livekit_service_url": "https://livekit.${net.devices.remote_proxy.domain}/livekit/jwt" + "livekit_service_url": "https://livekit.${net.devices.remote_proxy.domain}" } ] } diff --git a/config/services.nix b/config/services.nix index 0ce971b..ae8027c 100644 --- a/config/services.nix +++ b/config/services.nix @@ -9,6 +9,12 @@ rec { trusted_servers = [ "matrix.org" ]; memory_max = "512M"; livekit_url = "https://livekit.nudelerde.de/livekit/jwt"; + + package = { + version = "0.5.6"; + sourceHash = "sha256-p6dL1wL9n+1ivUItdlZuLxTneDBjCHEdNr0ukau2rHI="; + cargoHash = "sha256-lLbnFA2WS96er84G2e9bGrYhhqe2zL3Npn1SXB3De2w="; + }; }; qbittorrent = { diff --git a/configuration.nix b/configuration.nix index adc645f..e312cc9 100644 --- a/configuration.nix +++ b/configuration.nix @@ -9,6 +9,7 @@ timeZone = "Europe/Berlin"; defaultLocale = "en_US.UTF-8"; + storageConfig = import ./config/storage.nix; storageModel = import ./intermediate/storage.nix; in { imports = [ @@ -21,6 +22,13 @@ in { fileSystems = storageModel.fileSystems; + swapDevices = [ + { + device = "${storageConfig.ssd.path}/swapfile"; + size = 8192; + } + ]; + networking.hostName = "raspberry"; environment.systemPackages = with pkgs; [ diff --git a/services/continuwuity.nix b/services/continuwuity.nix index 4da8dfc..3509ab8 100644 --- a/services/continuwuity.nix +++ b/services/continuwuity.nix @@ -3,15 +3,38 @@ let serv = import ../config/services.nix; serviceValidation = import ../validation/service/continuwuity.nix; + continuwuity = serv.continuwuity; serverName = serviceValidation.getServerName serv; trustedServers = serviceValidation.getTrustedServers serv; memoryMax = serviceValidation.getMemoryMax serv; + + package = if continuwuity ? package then + pkgs.matrix-continuwuity.overrideAttrs (old: rec { + version = continuwuity.package.version; + pname = old.pname or "matrix-continuwuity"; + + src = pkgs.fetchFromGitea { + domain = "forgejo.ellis.link"; + owner = "continuwuation"; + repo = "continuwuity"; + tag = "v${version}"; + hash = continuwuity.package.sourceHash; + }; + + cargoDeps = pkgs.rustPlatform.fetchCargoVendor { + inherit src; + hash = continuwuity.package.cargoHash; + }; + }) + else + pkgs.matrix-continuwuity; in { services.matrix-continuwuity = { enable = true; + package = package; settings = { global = { server_name = serverName; @@ -22,7 +45,7 @@ in trusted_servers = trustedServers; matrix_rtc = { foci = [ - { type = "livekit"; livekit_service_url = serv.continuwuity.livekit_url; } + { type = "livekit"; livekit_service_url = continuwuity.livekit_url; } ]; }; };