# Application Configuration

> Where app configuration lives in the current codebase.

*Canonical: https://makerkit.dev/docs/nextjs-drizzle/configuration/overview*

---

Configuration is split across environment variables, typed config files, and a few route-local config modules.

## Main Locations

| Area | Location |
|------|----------|
| app settings | `apps/web/config/app.config.ts` |
| account mode | `apps/web/config/account-mode.config.ts` |
| feature flags | `apps/web/config/feature-flags.config.ts` |
| auth config | `apps/web/config/auth.config.ts` |
| internal sidebar navigation | `apps/web/app/[locale]/(internal)/_config/navigation.config.tsx` |
| locale messages | `apps/web/i18n/messages/<locale>/*.json` |

Environment files are loaded from `apps/web/.env*`.

## How to Choose

- use env vars for values that change by environment
- use `apps/web/config/*.ts` for typed app config
- edit route-local config when the value depends on UI structure, such as the internal sidebar

## Topics

1. [App Configuration](./app-configuration)
2. [Environment Variables](./environment-variables)
3. [Account Modes](./account-modes)
4. [Feature Flags](./feature-flags)
5. [Navigation](./navigation)

---

**Next:** [App Configuration →](./app-configuration)
