Basic services README

This commit is contained in:
Nicolas Jeannerod 2025-02-14 15:03:07 +01:00
parent 3a881979f9
commit 237c56791f
Signed by untrusted user: Niols
GPG key ID: 35DB9EC8886E1CB8

31
services/README.md Normal file
View file

@ -0,0 +1,31 @@
# Services
This directory contains the definition of a NixOS module allowing to easily set
up the Fediverse services that our project cares about. Those services are
already packaged in nixpkgs, which arguably already provides this. Here is
therefore the important distinction:
- The goal of nixpkgs is to be generic, bring all the building blocks and let
you do whatever it is you want with them. You get to choose all the options,
if to use a reverse proxy, which one, if to use an S3 backend, which one,
which database, etc.
- This module aims at being straightforward to use by being opinionated. It only
supports the use case of the Fediversity project and strives to hide as much
of the nitty-gritty details as possible.
For those that know it, we could say that the current module is an analogous of
[simple-nixos-mailserver] for Fediverse services.
[simple-nixos-mailserver]: https://gitlab.com/simple-nixos-mailserver/nixos-mailserver
## Content of this directory
- [fediversity][./fediversity] contains the definition of the services. Look in
particular at its `default.nix` that contains the definition of the options.
- [vm][./vm] contains options specific to making the service run in local QEMU
VMs. These modules will for instance override the defaults to disable SSL, and
they will add virtualisation options to forward ports, for instance.
- [tests][./tests] contain full NixOS tests of the services.