!vxTmkuJzhGPsMdkAOc:transformierende-gesellschaft.org

NixOS Matrix Subsystem

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

You have reached the beginning of time (for this room).


SenderMessageTime
6 Mar 2023
@ma27:nicht-so.sexyma27see https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners12:06:28
15 Mar 2023
@hexa:lossy.networkhexathe matrix-synapse dependency management is bit over all over the place regarding optional dependencies09:39:48
@hexa:lossy.networkhexasome get dumped into to propagatedBuildInputs, as if they were required09:40:20
@hexa:lossy.networkhexa some become optional using enableSomething flags 09:40:32
@hexa:lossy.networkhexasome get entirely ignored09:40:36
@hexa:lossy.networkhexa also not a fan of the undiscoverable enableFlag design 09:46:29
@hexa:lossy.networkhexaalso toggling these flags forces a rebuild of the package, when providing a proper PYTHONPATH would be sufficient10:02:25
@hexa:lossy.networkhexa ma27: config inspection to derive required extras? yay/nay? 11:36:43
@ma27:nicht-so.sexyma27so your suggestion would be to handle optional dependencies (such as systemd/redis and probably more, e.g. prometheus_client which is IIRC only needed when actually exposing metrics) the same way as we do it with plugins (i.e. adding them to PYTHONPATH in the service)? Havent' thought too much about it, but after a first glance I'd say it sounds pretty reasonable, hence Yay from me %) 11:57:36
@hexa:lossy.networkhexayep 🙂12:00:36
@hexa:lossy.networkhexamake the default closure small12:00:44
@hexa:lossy.networkhexamake sure extras and plugins don't cause a rebuild, so everyone can rely on the cached package12:01:01
@hexa:lossy.networkhexaRedacted or Malformed Event12:01:54
@hexa:lossy.networkhexaRedacted or Malformed Event12:02:03
@hexa:lossy.networkhexaprometheus_client is actually not an optional dependency12:06:47
@hexa:lossy.networkhexathe idea is to make it more feasible to expose these extras listed here https://github.com/matrix-org/synapse/blob/develop/pyproject.toml#L249-L27312:07:17
@hexa:lossy.networkhexa which are all the packages marked as optional in the dependencies section 12:07:27
@hexa:lossy.networkhexabut grouping them like this makes their use much clearer12:07:37
@hexa:lossy.networkhexaand allows us to select them intelligently12:07:44
@ma27:nicht-so.sexyma27
In reply to @hexa:lossy.network
prometheus_client is actually not an optional dependency
heh, that was a wild guess and served just as an example :)
12:10:14
@hexa:lossy.networkhexayeah, I feel the same about prometheus, why isn't it optional?12:10:34
@ma27:nicht-so.sexyma27but yeah it sounds reasonable, so I'd say if you have the time for it then go for it, I'm happy to test the changes on my server if needed then :) 12:10:55
@hexa:lossy.networkhexafine, lets get the bump in first, I'll rebase 😛12:38:11
@hexa:lossy.networkhexahttps://github.com/NixOS/nixpkgs/pull/22131812:52:20
@hexa:lossy.networkhexa Dandellion: by the way: worker support when? 😄 12:59:27
@dandellion:dodsorf.asDandellion😬 probably after I've reworked how I do stream writers13:02:17
@hexa:lossy.networkhexastream writers?13:21:04
@dandellion:dodsorf.asDandellionhttps://github.com/matrix-org/synapse/blob/develop/docs/workers.md#stream-writers they're just a little more involved to set up so aren't as compatible with some of the abstracted worker-type machinery13:25:57
@hexa:lossy.networkhexahrm13:27:23
@hexa:lossy.networkhexaI would be up for a smaller start and incrementally adding complexity13:27:37

Show newer messages


Back to Room ListRoom Version: 4