ConfigModule

Loads environment variables and configuration into the DI container.

Since NestJS 10/11 Spec ↗

Syntax

ConfigModule.forRoot(options?: ConfigModuleOptions)

Parameters

NameTypeRequiredDescription
options ConfigModuleOptions No Settings like isGlobal, envFilePath, load, cache, and validationSchema.

Returns

DynamicModule — A configured module exporting ConfigService.

Examples

import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true,
      envFilePath: '.env',
      cache: true,
    }),
  ],
})
export class AppModule {}

Notes

Install @nestjs/config. Set `isGlobal: true` to avoid re-importing in every module. Use `load` for typed config factories and `validationSchema` (Joi) to fail fast on missing variables.