Skip to content

Configuration

nxv is configured through environment variables. All settings have sensible defaults.

Environment Variables

Database

VariableDescriptionDefault
NXV_DB_PATHPath to the SQLite index databasePlatform data dir

Remote API

VariableDescriptionDefault
NXV_API_URLUse remote API instead of local databaseNone
NXV_API_TIMEOUTAPI request timeout in seconds30

When NXV_API_URL is set, nxv will query the remote server instead of the local database. This is useful for CI/CD environments where you don't want to download the index.

Index Updates

VariableDescriptionDefault
NXV_MANIFEST_URLCustom manifest URL for index downloadsGitHub releases
NXV_PUBLIC_KEYCustom public key for manifest verificationBuilt-in key
NXV_SKIP_VERIFYSkip manifest signature verificationfalse

Server

VariableDescriptionDefault
NXV_HOSTServer bind address127.0.0.1
NXV_PORTServer listen port8080
NXV_RATE_LIMITRate limit per IP (requests/sec)None
NXV_RATE_LIMIT_BURSTRate limit burst size2x rate
NXV_SECRET_KEYSecret key for manifest signingNone

Output

VariableDescriptionDefault
NO_COLORDisable colored outputNot set

Data Directories

nxv stores data in platform-specific directories:

PlatformPath
Linux~/.local/share/nxv/
macOS~/Library/Application Support/nxv/

Files stored:

  • index.db - SQLite database with package versions
  • bloom.bin - Bloom filter for fast negative lookups

Example Configurations

CI/CD (Remote API)

bash
export NXV_API_URL="https://nxv.example.com"
nxv search python --version 3.11

Custom Index Location

bash
export NXV_DB_PATH="/data/nxv/index.db"
nxv update

Released under the MIT License.