{ 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; # }; }; }