41 lines
		
	
	
	
		
			828 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			828 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  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";
 | 
						|
              };
 | 
						|
            };
 | 
						|
          };
 | 
						|
        };
 | 
						|
      })
 | 
						|
    ]
 | 
						|
  );
 | 
						|
}
 |