!vxTmkuJzhGPsMdkAOc:transformierende-gesellschaft.org

NixOS Matrix Subsystem

139 Members
Coordination and discussion about the matrix subsystem in NixOS - https://nixos.wiki/wiki/Matrix75 Servers

Load older messages


SenderMessageTime
2 Aug 2023
@ralith:ralith.comRalithit's also less than 2M so I doubt it's everything 18:34:39
@ralith:ralith.comRaliththere we go. it was in ~/.config/Riot18:37:32
10 Aug 2023
@pederbs:pvv.ntnu.nopbsds changed their display name from pbsds (UTC+1) to pbsds.14:54:45
13 Aug 2023
@10leej:matrix.org@10leej:matrix.org joined the room.01:27:05
15 Aug 2023
@10leej:matrix.org@10leej:matrix.org left the room.19:34:30
19 Aug 2023
@cel:pussy.accountants@cel:pussy.accountants left the room.18:56:09
@cw:kernelpanic.cafeChinchilla Wetreat joined the room.21:56:31
30 Aug 2023
@andreas.schraegle:helsinki-systems.de@andreas.schraegle:helsinki-systems.de invited @ajs124:ajs124.de@ajs124:ajs124.de.17:42:23
@ajs124:ajs124.de@ajs124:ajs124.de joined the room.17:42:36
31 Aug 2023
@ajs124:ajs124.de@ajs124:ajs124.de 09:21:13
@ajs124:ajs124.de@ajs124:ajs124.de 10:25:17
@ajs124:ajs124.de@ajs124:ajs124.de 11:15:20
@ajs124:ajs124.de@ajs124:ajs124.de 11:44:06
@ajs124:ajs124.de@ajs124:ajs124.de left the room.13:14:12
@ajs124:ajs124.de@ajs124:ajs124.de joined the room.13:14:44
@ajs124:ajs124.de@ajs124:ajs124.de 13:37:50
@ajs124:ajs124.de@ajs124:ajs124.de 14:54:50
@ajs124:ajs124.de@ajs124:ajs124.de 15:18:07
@moritz.hedtke:matrix.orgmoritz.hedtke removed their display name moritz.hedtke.16:13:27
1 Sep 2023
@andreas.schraegle:helsinki-systems.de@andreas.schraegle:helsinki-systems.de left the room.10:14:36
10 Sep 2023
@dandellion:dodsorf.asDandellion

ma27: Could you elaborate what you meant by

The entire generation of units for workers somehow works around the module-system in a very weird way that I really don't want to maintain.

22:01:18
@dandellion:dodsorf.asDandellion *

ma27: Could you elaborate on what you meant by

The entire generation of units for workers somehow works around the module-system in a very weird way that I really don't want to maintain.

22:01:23
@dandellion:dodsorf.asDandellion Is it this part? 22:12:43
@dandellion:dodsorf.asDandellionI will reiterate again that my alternative was there to show off a IMO more preferable API, and that I'm open to changing really most implementation details22:17:24
@dandellion:dodsorf.asDandellion * I will reiterate again that my alternative was there to show off an IMO more preferable API, and that I'm open to changing really most implementation details22:17:32
11 Sep 2023
@ma27:nicht-so.sexyma27
In reply to @dandellion:dodsorf.as

ma27: Could you elaborate on what you meant by

The entire generation of units for workers somehow works around the module-system in a very weird way that I really don't want to maintain.

ok I wasn't too precise there. I meant the import of the worker-module which creates these units, sorry.

The module-system consists of functions with certain arguments (defined by _module.args - such as pkgs/lib/config), but all the other stuff should be built with (internal) options. On a destructured attribute-set as argument the attribute names are not lazy, so you depend on at least the bindings already (though the values seem to be unevaluated thunks). However, while evaluating imports of a declaration (synapse.nix in this case) it's possible that too much of config will be unintentionally evaluated at some point causing weird behavior (prime example of a current issue is that specialArgs.nixosModules works whereas config._module.args.nixosModules causes an infinite recursion). Yes, it seems to just evaluate at the moment, but this code working around the design so much seems like a time-bomb to me which will send somebody on a long debugging journey, so I don't want to see that merged (and internals of the module system may change in a subtle way at some point).

additionally, are there that many differences left now? the other PR also did services.matrix-synapse.workers.foobar = { /* workerConfig */ }; (i.e. attrsOf) when I first looked at it which seems to be your main issue. And generally the other PR seemed closer to being mergable (because of dealing with systemd hardening, logger config and using sockets with redis - by default there's no real reason to use a tcp socket here since everything is on the same machine anyways).

fwiw I'm not sure if more opinionated things such as nginx config generation for load-balancing of workers should be in a nixos module (at least as long as we don't have rfc42 for nginx - otherwise I'm not too worried about such an idea) because it's far too easy then to run into a problem that isn't covered by the module and then the config will be very hard to customize from my experience with maintaining nextcloud which actually ships with a full-blown nginx config. I may be wrong though, so if you think you have a good design for that, feel free to file a patch, I'm happy to take a look :)

13:54:16
@ma27:nicht-so.sexyma27Also, I'll take a final look at the PR, but I think it's in a mergeable state now. I'll wait with merging until tonight (in CEST) though because I'd like to hear if you think that there are design flaws that shouldn't be merged.13:55:26
@sophie:catgirl.cloud⛧-440729 [sophie] (it/its) joined the room.14:21:06
@dandellion:dodsorf.asDandellion

Thanks for clarifying.
I agree the import with the function is a little stinky.

I was not aware that this PR does attrsOf now, that's great! I'm not going to block this at all then

The only difference left is probably that I use workers.instances and this one does just pure workers like was suggested. This is fine, I can just use autoWorkers or something for part 2

I'll do a more thourough review, but I generally support merging this more complete implementation

15:54:18
@dandellion:dodsorf.asDandellion I do think the module is growing to becoming kind of unwieldy so it'd be nice if we could figure out how to split it up like I attempted to with the import workers.nix stuff 15:55:37

Show newer messages


Back to Room ListRoom Version: 4