{ lib, config, ... }: { config = lib.mkIf config.services.forgejo.enable ( lib.mkMerge [ { host = { postgres = { enable = true; }; }; assertions = [ { assertion = config.services.forgejo.settings.database.DB_TYPE == "postgres"; message = "Forgejo database type must be postgres"; } ]; } (lib.mkIf config.host.postgres.enable { host = { postgres = { extraUsers = { forgejo = { isClient = true; createUser = true; }; }; extraDatabases = { forgejo = { name = "forgejo"; }; }; }; }; }) ] ); }