# Environment & Configuration — NestJS

Source: https://www.geekswithgeeks.com/en/nestjs/nestjs-env-config

> Manage environment variables and configuration per environment.

## ConfigModule setup

Use `@nestjs/config` to load and validate `.env` files automatically.

```typescript
import { ConfigModule } from '@nestjs/config';

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

## Access & validate config

Inject `ConfigService` to read values; use Joi for schema validation.

```typescript
import { ConfigService } from '@nestjs/config';

@Injectable()
export class AppService {
  constructor(private config: ConfigService) {}

  getPort() {
    return this.config.get<number>('PORT') || 3000;
  }
}
```
