nixpkgs/nixos/modules
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
..
config Merge pull request #84242 from gnidorah/qt 2020-04-24 08:47:21 -04:00
hardware libtxc_dxtn{,_s2tc}: remove from nixpkgs + hardware.opengl options 2020-04-20 03:19:41 +02:00
i18n/input-method Revert "ibus: fix dconf db installation" 2020-04-24 18:22:59 -04:00
installer installation-cd-graphical-gnome: don't run xorg default 2020-04-21 15:26:25 -04:00
misc Update link in /etc/os-release (#85723) 2020-04-22 00:16:22 +02:00
profiles Merge pull request #74378 from ttuegel/lxc-container 2020-04-25 16:25:15 +02:00
programs Revert "ibus: fix dconf db installation" 2020-04-24 18:22:59 -04:00
security Merge pull request #85365 from immae/fix_acme_postrun 2020-04-18 13:16:16 -04:00
services nixos/prosody: make defaults comply with XEP-0423 2020-04-30 20:39:54 +02:00
system Merge pull request #85735 from nh2/journald-storage-limit-logs 2020-04-23 13:35:12 +02:00
tasks nixos/networking: move network-link-${i.name} to scripted networking 2020-04-13 22:03:35 +02:00
testing nixos/service-runner.nix: Allow quotes in commands + test 2020-02-28 14:26:29 +01:00
virtualisation Merge pull request #82414 from AmineChikhaoui/update-ec2-amis-19-09 2020-04-25 18:15:41 -04:00
module-list.nix nixos.virtualisation.containers: Init common /etc/containers configuration module 2020-04-21 10:38:39 +01:00
rename.nix nixos: fix module paths in rename.nix 2020-03-11 15:59:22 +01:00