diff --git a/flake.nix b/flake.nix
index 792bec0..7c8dd12 100755
--- a/flake.nix
+++ b/flake.nix
@@ -32,9 +32,8 @@
};
# Draupnir module/package
- #nixpkgs-Draupnir.url = "github:TheArcaneBrony/nixpkgs/module/draupnir";
#nixpkgs-DraupnirPkg.url = "github:r-ryantm/nixpkgs/auto-update/draupnir";
- nixpkgs-DraupnirPkg.url = "github:NixOS/nixpkgs/master";
+ #nixpkgs-DraupnirPkg.url = "github:NixOS/nixpkgs/master";
# nixpkgs-keydb.url = "github:NixOS/nixpkgs?rev=e0464e47880a69896f0fb1810f00e0de469f770a";
#MatrixContentFilter.url = "git+file:/home/Rory/git/matrix/MatrixContentFilter?submodules=1";
@@ -150,21 +149,9 @@
];
nixpkgs.overlays = [
(final: prev: {
- matrix-synapse-unwrapped = inputs.nixpkgs-master.legacyPackages.${pkgs.stdenv.hostPlatform.system}.matrix-synapse-unwrapped.overrideAttrs (oldAttrs: rec {
- patches = (if oldAttrs ? patches then oldAttrs.patches else []) ++ lib.map (
- path: ./packages/overlays/matrix-synapse/patches/${path}
- ) (builtins.attrNames (builtins.readDir ./packages/overlays/matrix-synapse/patches));
-
- cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
- inherit (oldAttrs) src;
- inherit patches;
- name = "${oldAttrs.pname}-${oldAttrs.version}";
- hash = "sha256-9VJnn8aPkShqK2wYGFr+S5koIjma7VOr+LkLXwStL1E=";
- };
- });
- #draupnir = inputs.nixpkgs-master.legacyPackages.${pkgs.stdenv.hostPlatform.system}.draupnir;
- draupnir = inputs.nixpkgs-DraupnirPkg.legacyPackages.${pkgs.stdenv.hostPlatform.system}.draupnir;
-# keydb = inputs.nixpkgs-keydb.legacyPackages.${pkgs.stdenv.hostPlatform.system}.keydb;
+ matrix-synapse-unwrapped = self.packages.${pkgs.stdenv.hostPlatform.system}.matrix-synapse-unwrapped-patched;
+ draupnir = inputs.nixpkgs-master.legacyPackages.${pkgs.stdenv.hostPlatform.system}.draupnir;
+ #draupnir = inputs.nixpkgs-DraupnirPkg.legacyPackages.${pkgs.stdenv.hostPlatform.system}.draupnir;
matrix-synapse-plugins.synapse-http-antispam = prev.matrix-synapse-plugins.synapse-http-antispam.overrideAttrs (oldAttrs: {
src = inputs.synapseHttpAntispamSrc;
version = inputs.synapseHttpAntispamSrc.rev;
@@ -196,7 +183,6 @@
home-manager.nixosModules.home-manager
lix-module.nixosModules.default
grapevine.nixosModules.default
- ooye.modules.default
# these arent really modules...
botcore-v4.modules.bots
@@ -393,7 +379,7 @@
./host/uISO/development.nix
];
specialArgs = {
- # inherit spacebarchat-server-master;
+ # inherit spacebarchat-server-master;
};
};
};
@@ -407,6 +393,7 @@
system:
let
pkgs = import nixpkgs { inherit system; };
+ pkgs-master = import nixpkgs-master { inherit system; };
in
{
packages.nheko-git = (
@@ -428,6 +415,18 @@
#});
packages.redpanda-connect = (pkgs.callPackage ./packages/redpanda-connect/default.nix { });
+ packages.matrix-synapse-unwrapped-patched = pkgs-master.matrix-synapse-unwrapped.overrideAttrs (oldAttrs: rec {
+ patches = (if oldAttrs ? patches then oldAttrs.patches else []) ++ pkgs.lib.map (
+ path: ./packages/overlays/matrix-synapse/patches/${path}
+ ) (builtins.attrNames (builtins.readDir ./packages/overlays/matrix-synapse/patches));
+
+ cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
+ inherit (oldAttrs) src;
+ inherit patches;
+ name = "${oldAttrs.pname}-${oldAttrs.version}";
+ hash = "sha256-9VJnn8aPkShqK2wYGFr+S5koIjma7VOr+LkLXwStL1E=";
+ };
+ });
}
);
}
diff --git a/host/Rory-desktop/optional/gui/hyprland.nix b/host/Rory-desktop/optional/gui/hyprland.nix
index 5fcbfb4..d9dcbb2 100644
--- a/host/Rory-desktop/optional/gui/hyprland.nix
+++ b/host/Rory-desktop/optional/gui/hyprland.nix
@@ -14,6 +14,12 @@
programs.hyprlock.enable = true;
environment.systemPackages = with pkgs;[
wmenu
+ waybar
+ wl-clipboard
+ grim
+ slurp
+ easyeffects
+ keepassxc
];
environment.etc."hyprPlugins" = {
diff --git a/modules/monitoring/synapse.nix b/modules/monitoring/synapse.nix
index 55d123e..a8bd2ee 100644
--- a/modules/monitoring/synapse.nix
+++ b/modules/monitoring/synapse.nix
@@ -76,7 +76,7 @@ in
options = {
path = builtins.fetchurl {
url = "https://raw.githubusercontent.com/element-hq/synapse/master/contrib/grafana/synapse.json";
- sha256 = "07qlr0waw9phmyd38bv22bn5v303w3397b89l44l3lzwhpnhs16s";
+ sha256 = "16fl81sx1by0wldw4vda0zr1pvbq1dpih1fikzwlvmk63mpc80kb";
};
};
}
diff --git a/packages/overlays/matrix-synapse/patches/0001-Hotfix-ignore-rejected-events-in-delayed_events.patch b/packages/overlays/matrix-synapse/patches/0001-Hotfix-ignore-rejected-events-in-delayed_events.patch
index b4a7b1a..10bda30 100644
--- a/packages/overlays/matrix-synapse/patches/0001-Hotfix-ignore-rejected-events-in-delayed_events.patch
+++ b/packages/overlays/matrix-synapse/patches/0001-Hotfix-ignore-rejected-events-in-delayed_events.patch
@@ -1,4 +1,4 @@
-From bd7ef5a0cd885a56741a908842d21efd1a8be96e Mon Sep 17 00:00:00 2001
+From c9685b56adfec0f8917e2a04b792519c57f0baa4 Mon Sep 17 00:00:00 2001
From: Rory& <root@rory.gay>
Date: Sun, 20 Apr 2025 00:30:29 +0200
Subject: [PATCH 01/10] Hotfix: ignore rejected events in delayed_events
diff --git a/packages/overlays/matrix-synapse/patches/0002-Add-too-much-logging-to-room-summary-over-federation.patch b/packages/overlays/matrix-synapse/patches/0002-Add-too-much-logging-to-room-summary-over-federation.patch
index edb9c17..8441823 100644
--- a/packages/overlays/matrix-synapse/patches/0002-Add-too-much-logging-to-room-summary-over-federation.patch
+++ b/packages/overlays/matrix-synapse/patches/0002-Add-too-much-logging-to-room-summary-over-federation.patch
@@ -1,4 +1,4 @@
-From 2ee6ab89ac2cffd375d5c6cf21eb397f27a28018 Mon Sep 17 00:00:00 2001
+From 12f5c44e7d1cedc9f11402fc5c06ce54a8c24915 Mon Sep 17 00:00:00 2001
From: Rory& <root@rory.gay>
Date: Wed, 23 Apr 2025 17:53:52 +0200
Subject: [PATCH 02/10] Add too much logging to room summary over federation
@@ -9,7 +9,7 @@ Signed-off-by: Rory& <root@rory.gay>
1 file changed, 36 insertions(+), 4 deletions(-)
diff --git a/synapse/handlers/room_summary.py b/synapse/handlers/room_summary.py
-index 64f5bea014..6e64930682 100644
+index 91b131d09b..6e64930682 100644
--- a/synapse/handlers/room_summary.py
+++ b/synapse/handlers/room_summary.py
@@ -700,23 +700,55 @@ class RoomSummaryHandler:
@@ -25,7 +25,7 @@ index 64f5bea014..6e64930682 100644
+ )
+
if (
-- room.get("join_rule")
+- room.get("join_rule", JoinRules.PUBLIC)
- in (JoinRules.PUBLIC, JoinRules.KNOCK, JoinRules.KNOCK_RESTRICTED)
- or room.get("world_readable") is True
+ join_rule in (JoinRules.PUBLIC, JoinRules.KNOCK, JoinRules.KNOCK_RESTRICTED)
diff --git a/packages/overlays/matrix-synapse/patches/0003-Log-entire-room-if-accessibility-check-fails.patch b/packages/overlays/matrix-synapse/patches/0003-Log-entire-room-if-accessibility-check-fails.patch
index 267ed45..e1676c6 100644
--- a/packages/overlays/matrix-synapse/patches/0003-Log-entire-room-if-accessibility-check-fails.patch
+++ b/packages/overlays/matrix-synapse/patches/0003-Log-entire-room-if-accessibility-check-fails.patch
@@ -1,4 +1,4 @@
-From 3a1af2e91a7ca9a9b7de3d1bcd6bab9d16745d84 Mon Sep 17 00:00:00 2001
+From feb88e251b0a7402095643444710f160b9e73daa Mon Sep 17 00:00:00 2001
From: Rory& <root@rory.gay>
Date: Wed, 23 Apr 2025 18:24:57 +0200
Subject: [PATCH 03/10] Log entire room if accessibility check fails
diff --git a/packages/overlays/matrix-synapse/patches/0004-Log-policy-server-rejected-events.patch b/packages/overlays/matrix-synapse/patches/0004-Log-policy-server-rejected-events.patch
index f2893ac..63903f1 100644
--- a/packages/overlays/matrix-synapse/patches/0004-Log-policy-server-rejected-events.patch
+++ b/packages/overlays/matrix-synapse/patches/0004-Log-policy-server-rejected-events.patch
@@ -1,4 +1,4 @@
-From 2180ad7da49e89a3a46ce569534abb3b43fe2d7e Mon Sep 17 00:00:00 2001
+From d06fbc3b1b6158a1e3805d3dd282427268dea01a Mon Sep 17 00:00:00 2001
From: Rory& <root@rory.gay>
Date: Tue, 27 May 2025 05:21:46 +0200
Subject: [PATCH 04/10] Log policy server rejected events
diff --git a/packages/overlays/matrix-synapse/patches/0005-Use-parse_boolean-for-unredacted-content.patch b/packages/overlays/matrix-synapse/patches/0005-Use-parse_boolean-for-unredacted-content.patch
index 57efd58..bfb3e75 100644
--- a/packages/overlays/matrix-synapse/patches/0005-Use-parse_boolean-for-unredacted-content.patch
+++ b/packages/overlays/matrix-synapse/patches/0005-Use-parse_boolean-for-unredacted-content.patch
@@ -1,4 +1,4 @@
-From 7dcc4610727538d7fa0e29765c0a9755b3043cf6 Mon Sep 17 00:00:00 2001
+From 9c3f28c68cb89e81a98561e0898b00c43a280a65 Mon Sep 17 00:00:00 2001
From: Rory& <root@rory.gay>
Date: Tue, 27 May 2025 06:14:26 +0200
Subject: [PATCH 05/10] Use parse_boolean for unredacted content
@@ -8,10 +8,10 @@ Subject: [PATCH 05/10] Use parse_boolean for unredacted content
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/synapse/rest/client/room.py b/synapse/rest/client/room.py
-index 03e7bc0a24..725b2162fd 100644
+index bb41575d46..63ea52baf8 100644
--- a/synapse/rest/client/room.py
+++ b/synapse/rest/client/room.py
-@@ -894,10 +894,9 @@ class RoomEventServlet(RestServlet):
+@@ -914,10 +914,9 @@ class RoomEventServlet(RestServlet):
requester = await self.auth.get_user_by_req(request, allow_guest=True)
include_unredacted_content = self.msc2815_enabled and (
diff --git a/packages/overlays/matrix-synapse/patches/0006-Expose-tombstone-in-room-admin-api.patch b/packages/overlays/matrix-synapse/patches/0006-Expose-tombstone-in-room-admin-api.patch
index 904cff5..c12912e 100644
--- a/packages/overlays/matrix-synapse/patches/0006-Expose-tombstone-in-room-admin-api.patch
+++ b/packages/overlays/matrix-synapse/patches/0006-Expose-tombstone-in-room-admin-api.patch
@@ -1,4 +1,4 @@
-From e2ccfffacfe7b889c1529bbf1b984ad2015d0509 Mon Sep 17 00:00:00 2001
+From 23c042aead65385a500be6e671ddd0e942a7e864 Mon Sep 17 00:00:00 2001
From: Rory& <root@rory.gay>
Date: Tue, 27 May 2025 06:37:52 +0200
Subject: [PATCH 06/10] Expose tombstone in room admin api
@@ -33,10 +33,10 @@ index f8c5bf18d4..adac1f0362 100644
response = {
diff --git a/synapse/rest/client/room.py b/synapse/rest/client/room.py
-index 725b2162fd..8408c687cc 100644
+index 63ea52baf8..38230de0de 100644
--- a/synapse/rest/client/room.py
+++ b/synapse/rest/client/room.py
-@@ -898,7 +898,6 @@ class RoomEventServlet(RestServlet):
+@@ -918,7 +918,6 @@ class RoomEventServlet(RestServlet):
request,
"fi.mau.msc2815.include_unredacted_content"
)
@@ -45,10 +45,10 @@ index 725b2162fd..8408c687cc 100644
if include_unredacted_content and not await self.auth.is_server_admin(
requester
diff --git a/synapse/storage/databases/main/room.py b/synapse/storage/databases/main/room.py
-index 56217fccdf..9ecad17567 100644
+index 1df06a5171..347dbbba6b 100644
--- a/synapse/storage/databases/main/room.py
+++ b/synapse/storage/databases/main/room.py
-@@ -608,6 +608,7 @@ class RoomWorkerStore(CacheInvalidationWorkerStore):
+@@ -610,6 +610,7 @@ class RoomWorkerStore(CacheInvalidationWorkerStore):
search_term: Optional[str],
public_rooms: Optional[bool],
empty_rooms: Optional[bool],
@@ -56,7 +56,7 @@ index 56217fccdf..9ecad17567 100644
) -> Tuple[List[Dict[str, Any]], int]:
"""Function to retrieve a paginated list of rooms as json.
-@@ -627,6 +628,7 @@ class RoomWorkerStore(CacheInvalidationWorkerStore):
+@@ -629,6 +630,7 @@ class RoomWorkerStore(CacheInvalidationWorkerStore):
If true, empty rooms are queried.
if false, empty rooms are excluded from the query. When it is
none (the default), both empty rooms and none-empty rooms are queried.
@@ -64,7 +64,7 @@ index 56217fccdf..9ecad17567 100644
Returns:
A list of room dicts and an integer representing the total number of
rooms that exist given this query
-@@ -795,11 +797,43 @@ class RoomWorkerStore(CacheInvalidationWorkerStore):
+@@ -797,11 +799,43 @@ class RoomWorkerStore(CacheInvalidationWorkerStore):
room_count = cast(Tuple[int], txn.fetchone())
return rooms, room_count[0]
diff --git a/packages/overlays/matrix-synapse/patches/0007-fix-Always-recheck-messages-pagination-data-if-a-bac.patch b/packages/overlays/matrix-synapse/patches/0007-fix-Always-recheck-messages-pagination-data-if-a-bac.patch
index 6943969..4ebc20c 100644
--- a/packages/overlays/matrix-synapse/patches/0007-fix-Always-recheck-messages-pagination-data-if-a-bac.patch
+++ b/packages/overlays/matrix-synapse/patches/0007-fix-Always-recheck-messages-pagination-data-if-a-bac.patch
@@ -1,4 +1,4 @@
-From 9e7ab16a878bef50a777833f8401a14e6f07effd Mon Sep 17 00:00:00 2001
+From 99b146825a1a8257d05440ae3e331c68b8e1575a Mon Sep 17 00:00:00 2001
From: Jason Little <j.little@famedly.com>
Date: Wed, 30 Apr 2025 09:29:42 -0500
Subject: [PATCH 07/10] fix: Always recheck `/messages` pagination data if a
@@ -10,10 +10,10 @@ Subject: [PATCH 07/10] fix: Always recheck `/messages` pagination data if a
2 files changed, 34 insertions(+), 37 deletions(-)
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
-index b1640e3246..926be5e415 100644
+index a6de3e824d..ff751d25f6 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
-@@ -210,7 +210,7 @@ class FederationHandler:
+@@ -211,7 +211,7 @@ class FederationHandler:
@tag_args
async def maybe_backfill(
self, room_id: str, current_depth: int, limit: int, record_time: bool = True
@@ -22,7 +22,7 @@ index b1640e3246..926be5e415 100644
"""Checks the database to see if we should backfill before paginating,
and if so do.
-@@ -224,8 +224,6 @@ class FederationHandler:
+@@ -225,8 +225,6 @@ class FederationHandler:
should back paginate.
record_time: Whether to record the time it takes to backfill.
@@ -31,7 +31,7 @@ index b1640e3246..926be5e415 100644
"""
# Starting the processing time here so we can include the room backfill
# linearizer lock queue in the timing
-@@ -251,7 +249,7 @@ class FederationHandler:
+@@ -252,7 +250,7 @@ class FederationHandler:
limit: int,
*,
processing_start_time: Optional[int],
@@ -40,7 +40,7 @@ index b1640e3246..926be5e415 100644
"""
Checks whether the `current_depth` is at or approaching any backfill
points in the room and if so, will backfill. We only care about
-@@ -325,7 +323,7 @@ class FederationHandler:
+@@ -326,7 +324,7 @@ class FederationHandler:
limit=1,
)
if not have_later_backfill_points:
@@ -49,7 +49,7 @@ index b1640e3246..926be5e415 100644
logger.debug(
"_maybe_backfill_inner: all backfill points are *after* current depth. Trying again with later backfill points."
-@@ -345,15 +343,15 @@ class FederationHandler:
+@@ -346,15 +344,15 @@ class FederationHandler:
)
# We return `False` because we're backfilling in the background and there is
# no new events immediately for the caller to know about yet.
@@ -68,7 +68,7 @@ index b1640e3246..926be5e415 100644
# If we're approaching an extremity we trigger a backfill, otherwise we
# no-op.
-@@ -372,7 +370,7 @@ class FederationHandler:
+@@ -373,7 +371,7 @@ class FederationHandler:
current_depth,
limit,
)
@@ -77,7 +77,7 @@ index b1640e3246..926be5e415 100644
# For performance's sake, we only want to paginate from a particular extremity
# if we can actually see the events we'll get. Otherwise, we'd just spend a lot
-@@ -440,7 +438,7 @@ class FederationHandler:
+@@ -441,7 +439,7 @@ class FederationHandler:
logger.debug(
"_maybe_backfill_inner: found no extremities which would be visible"
)
@@ -86,7 +86,7 @@ index b1640e3246..926be5e415 100644
logger.debug(
"_maybe_backfill_inner: extremities_to_request %s", extremities_to_request
-@@ -463,7 +461,7 @@ class FederationHandler:
+@@ -464,7 +462,7 @@ class FederationHandler:
)
)
@@ -95,7 +95,7 @@ index b1640e3246..926be5e415 100644
# TODO: Should we try multiple of these at a time?
# Number of contacted remote homeservers that have denied our backfill
-@@ -486,7 +484,7 @@ class FederationHandler:
+@@ -487,7 +485,7 @@ class FederationHandler:
# If this succeeded then we probably already have the
# appropriate stuff.
# TODO: We can probably do something more intelligent here.
@@ -104,7 +104,7 @@ index b1640e3246..926be5e415 100644
except NotRetryingDestination as e:
logger.info("_maybe_backfill_inner: %s", e)
continue
-@@ -510,7 +508,7 @@ class FederationHandler:
+@@ -511,7 +509,7 @@ class FederationHandler:
)
denied_count += 1
if denied_count >= max_denied_count:
@@ -113,7 +113,7 @@ index b1640e3246..926be5e415 100644
continue
logger.info("Failed to backfill from %s because %s", dom, e)
-@@ -526,7 +524,7 @@ class FederationHandler:
+@@ -527,7 +525,7 @@ class FederationHandler:
)
denied_count += 1
if denied_count >= max_denied_count:
@@ -122,7 +122,7 @@ index b1640e3246..926be5e415 100644
continue
logger.info("Failed to backfill from %s because %s", dom, e)
-@@ -538,7 +536,7 @@ class FederationHandler:
+@@ -539,7 +537,7 @@ class FederationHandler:
logger.exception("Failed to backfill from %s because %s", dom, e)
continue
@@ -131,7 +131,7 @@ index b1640e3246..926be5e415 100644
# If we have the `processing_start_time`, then we can make an
# observation. We wouldn't have the `processing_start_time` in the case
-@@ -550,14 +548,9 @@ class FederationHandler:
+@@ -551,14 +549,9 @@ class FederationHandler:
(processing_end_time - processing_start_time) / 1000
)
diff --git a/packages/overlays/matrix-synapse/patches/0008-Fix-pagination-with-large-gaps-of-rejected-events.patch b/packages/overlays/matrix-synapse/patches/0008-Fix-pagination-with-large-gaps-of-rejected-events.patch
index ecbdd62..81a6d3f 100644
--- a/packages/overlays/matrix-synapse/patches/0008-Fix-pagination-with-large-gaps-of-rejected-events.patch
+++ b/packages/overlays/matrix-synapse/patches/0008-Fix-pagination-with-large-gaps-of-rejected-events.patch
@@ -1,4 +1,4 @@
-From 209e561ab2a299892e00250fe10d8c31e1714f1e Mon Sep 17 00:00:00 2001
+From 6eb23d3018f68744ba363fb7a89a9a4982d67a19 Mon Sep 17 00:00:00 2001
From: Nicolas Werner <nicolas.werner@hotmail.de>
Date: Sun, 8 Jun 2025 23:14:31 +0200
Subject: [PATCH 08/10] Fix pagination with large gaps of rejected events
diff --git a/packages/overlays/matrix-synapse/patches/0009-Fix-nix-flake.patch b/packages/overlays/matrix-synapse/patches/0009-Fix-nix-flake.patch
index ecd6866..09a7f5c 100644
--- a/packages/overlays/matrix-synapse/patches/0009-Fix-nix-flake.patch
+++ b/packages/overlays/matrix-synapse/patches/0009-Fix-nix-flake.patch
@@ -1,4 +1,4 @@
-From b010181b70ef40f0259c561be50c307f2b651298 Mon Sep 17 00:00:00 2001
+From 69d854a8250493f9c1e468f24031378ff334cf7f Mon Sep 17 00:00:00 2001
From: Rory& <root@rory.gay>
Date: Mon, 9 Jun 2025 17:38:34 +0200
Subject: [PATCH 09/10] Fix nix flake
diff --git a/packages/overlays/matrix-synapse/patches/0010-Fix-gitignore-to-ignore-.venv.patch b/packages/overlays/matrix-synapse/patches/0010-Fix-gitignore-to-ignore-.venv.patch
index eb3a553..abe0eb3 100644
--- a/packages/overlays/matrix-synapse/patches/0010-Fix-gitignore-to-ignore-.venv.patch
+++ b/packages/overlays/matrix-synapse/patches/0010-Fix-gitignore-to-ignore-.venv.patch
@@ -1,4 +1,4 @@
-From 6a4413abf22aaf7d10bc81de5f46fe83bcd52a7d Mon Sep 17 00:00:00 2001
+From 35c7dfe6a8df912f14d4f18642e2af2675d607af Mon Sep 17 00:00:00 2001
From: Rory& <root@rory.gay>
Date: Mon, 9 Jun 2025 17:46:10 +0200
Subject: [PATCH 10/10] Fix gitignore to ignore .venv
|