{
  config,
  lib,
  pkgs,
  ...
}:
{
  services.postgresql =
    let
      # Populate with services here.
      configurations = [
        "forgejo"
        "invidious"
        "mattermost"
        "nextcloud"
        "paperless"
        "privatebin"
      ];

      ensureDatabases = [ "root" ] ++ configurations;

      ensureUsers = map (name: {
        inherit name;
        ensureDBOwnership = true;
        ensureClauses =
          if name == "root" then
            {
              createdb = true;
              createrole = true;
              superuser = true;
            }
          else
            { };
      }) ensureDatabases;

      authentication = "local all all trust";
    in
    {
      inherit authentication ensureDatabases ensureUsers;

      enable = true;
      dataDir = "/var/lib/postgresql/14";
      package = pkgs.postgresql_14;

      # NOTE: Debug mode.
      # settings = {
      #   log_connections    = true;
      #   log_destination    = lib.mkForce "syslog";
      #   log_disconnections = true;
      #   log_statement      = "all";
      #   logging_collector  = true;
      # };
    };
}