nixpkgs/nixos
Félix Baylac-Jacqué 8aea528872
nixos/prosody: make defaults comply with XEP-0423
Setting up a XMPP chat server is a pretty deep rabbit whole to jump in
when you're not familiar with this whole universe. Your experience
with this environment will greatly depends on whether or not your
server implements the right set of XEPs.

To tackle this problem, the XMPP community came with the idea of
creating a meta-XEP in charge of listing the desirable XEPs to comply
with. This meta-XMP is issued every year under an new XEP number. The
2020 one being XEP-0423[1].

This prosody nixos module refactoring makes complying with XEP-0423
easier. All the necessary extensions are enabled by default. For some
extensions (MUC and HTTP_UPLOAD), we need some input from the user and
cannot provide a sensible default nixpkgs-wide. For those, we guide
the user using a couple of assertions explaining the remaining manual
steps to perform.

We took advantage of this substential refactoring to refresh the
associated nixos test.

Changelog:
- Update the prosody package to provide the necessary community
  modules in order to comply with XEP-0423. This is a tradeoff, as
  depending on their configuration, the user might end up not using them
  and wasting some disk space. That being said, adding those will
  allow the XEP-0423 users, which I expect to be the majority of
  users, to leverage a bit more the binary cache.
- Add a muc submodule populated with the prosody muc defaults.
- Add a http_upload submodule in charge of setting up a basic http
  server handling the user uploads. This submodule is in is
  spinning up an HTTP(s) server in charge of receiving and serving the
  user's attachments.
- Advertise both the MUCs and the http_upload endpoints using mod disco.
- Use the slixmpp library in place of the now defunct sleekxmpp for
  the prosody NixOS test.
- Update the nixos test to setup and test the MUC and http upload
  features.
- Add a couple of assertions triggered if the setup is not xep-0423
  compliant.

[1] https://xmpp.org/extensions/xep-0423.html
2020-04-30 20:39:54 +02:00
..
doc Merge pull request #85043 from aanderse/httpd-2020 2020-04-25 20:04:05 -04:00
lib treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
maintainers nixos/azure: clarify how users work in basic example 2020-03-29 13:56:55 -07:00
modules nixos/prosody: make defaults comply with XEP-0423 2020-04-30 20:39:54 +02:00
tests nixos/prosody: make defaults comply with XEP-0423 2020-04-30 20:39:54 +02:00
COPYING
default.nix
README
release-combined.nix Merge pull request #85402 from jtojnar/httpd-php 2020-04-22 04:23:24 +02:00
release-small.nix nixos/release-small: drop latestKernel.login 2020-04-19 22:20:07 +03:00
release.nix nixos/release.nix: Import './..' instead of nixpkgs 2020-02-12 22:44:59 +01:00

*** NixOS ***

NixOS is a Linux distribution based on the purely functional package
management system Nix.  More information can be found at
http://nixos.org/nixos and in the manual in doc/manual.