nixpkgs/nixos/modules/services
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
..
admin nixos/oxidized: add missing slash to PIDFile path 2020-01-06 16:58:54 +01:00
amqp treewide: add bool type to enable options, or make use of mkEnableOption 2020-04-21 08:55:36 +02:00
audio mopidy: Create a mopidyPackages set 2020-04-17 12:39:03 +01:00
backup treewide: add bool type to enable options, or make use of mkEnableOption 2020-04-21 08:55:36 +02:00
cluster The systemd unit for k3s should differ between agents and servers 2020-04-23 07:55:23 +02:00
computing nixos/boinc: create boinc group 2020-03-25 13:26:31 +01:00
continuous-integration hydra: wrap executables with hydra env vars 2020-04-11 14:36:42 +02:00
databases treewide: add bool type to enable options, or make use of mkEnableOption 2020-04-21 08:55:36 +02:00
desktops Merge pull request #83400 from jtojnar/malcontent-0.7 2020-04-08 17:38:17 +02:00
development nixos/jupyter: Fix documentation example for jupyter.kernels (#56415) 2020-01-31 15:30:02 +01:00
editors treewide: use attrs instead of list for types.loaOf options 2020-01-06 10:39:18 -05:00
games nixos/factorio: add extraSettings and package options 2020-01-10 23:36:14 +00:00
hardware treewide: add bool type to enable options, or make use of mkEnableOption 2020-04-21 08:55:36 +02:00
logging treewide: use attrs instead of list for types.loaOf options 2020-01-06 10:39:18 -05:00
mail treewide: add bool type to enable options, or make use of mkEnableOption 2020-04-21 08:55:36 +02:00
misc treewide: add bool type to enable options, or make use of mkEnableOption 2020-04-21 08:55:36 +02:00
monitoring nixos/datadog-agent: Fix restartTriggers 2020-04-23 09:58:18 +02:00
network-filesystems treewide: add bool type to enable options, or make use of mkEnableOption 2020-04-21 08:55:36 +02:00
networking nixos/prosody: make defaults comply with XEP-0423 2020-04-30 20:39:54 +02:00
printing treewide: use attrs instead of list for types.loaOf options 2020-01-06 10:39:18 -05:00
scheduling atd: systemd-udev-settle serves no purpose 2020-03-21 11:15:06 +08:00
search solr: drop 7.x series 2020-01-18 08:50:35 -05:00
security Merge pull request #79840 from knl/update-oauth2_proxy-to-5.0.0 2020-04-22 12:15:07 +02:00
system nixos/nscd: be more specific in the nscd.enable description on what breaks 2020-04-25 18:11:10 +02:00
torrent nixos/deluge: support 2.x 2020-04-18 02:00:04 +02:00
ttys treewide: use attrs instead of list for types.loaOf options 2020-01-06 10:39:18 -05:00
wayland nixos/cage: move ConditionPathExists to service config 2020-03-09 00:47:49 +01:00
web-apps nixos/dokuwiki: change default of aclFile and usersFile 2020-04-18 23:37:19 +02:00
web-servers Merge pull request #85043 from aanderse/httpd-2020 2020-04-25 20:04:05 -04:00
x11 Merge master into staging-next 2020-04-21 19:59:56 +02:00