IX behavior is controlled through environment variables. Most have sensible defaults and work out of the box, but they can all be overridden before invokingDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/pg83/ix/llms.txt
Use this file to discover all available pages before exploring further.
./ix to customize the store location, parallelism, verbosity, recipe search paths, and execution mode.
Variable Reference
| Variable | Default | Description |
|---|---|---|
IX_ROOT | /ix | Root directory for the IX store. The package store lives at $IX_ROOT/store/ and realm anchor links at $IX_ROOT/realm/. |
IX_EXEC_KIND | system if /bin/bin_ix/assemble exists, otherwise local | Operation mode. Controls whether IX manages the system store or runs as a standalone user tool. See Execution Modes. |
IX_PATH | {builtin} | Colon-separated list of directories containing package recipes. The token {builtin} expands to the pkgs/ directory inside the IX repository. |
IX_THREADS | Number of CPUs | Number of parallel build threads. |
IX_VERBOSE | (unset) | When set to any non-empty value, IX shows package dependencies during the build. |
IX_DUMP_GRAPH | (unset) | When set, IX prints the build graph as JSON and exits without building. |
IX_DUMP_REPO | (unset) | When set, IX prints the build graph as JSON but does not exit — the build proceeds. |
IX_BINARY | (auto-detected) | Path to the IX executable. Set automatically by the ./ix wrapper. |
IX_DIR | (auto-detected) | Directory containing the IX executable. Set automatically by the ./ix wrapper. |
IX_PKGS_ROOT | (auto-detected) | Path to the IX repository root. |
IX_WHERE | (auto-detected) | Path to pkgs/die/scripts inside the IX repository. |
IX_RANDOM | (random integer) | A random integer between 0 and 1,000,000,000 used internally by IX. |
IX_B_DIR | (build-time only) | Directory containing host binaries during a package build. Set by IX when invoking a recipe; not normally set by the user. |
IX_H_DIR | (build-time only) | Directory containing host libraries during a package build. Set by IX when invoking a recipe. |
IX_T_DIR | (build-time only) | Directory containing target libraries during a package build. Set by IX when invoking a recipe. |
Usage Examples
Execution Modes
TheIX_EXEC_KIND variable selects how IX interacts with the host system. There are three modes:
- system
- local
- fake
IX_EXEC_KIND=systemFull system-wide package manager mode. IX assembles realms and switches anchor links in /ix/realm/. This is the default when /bin/bin_ix/assemble exists on the system — meaning the host is a stal/IX system with the IX assembler installed.Use this mode when IX manages the operating system’s packages and you want changes to take effect system-wide.You rarely need to set
IX_EXEC_KIND manually. IX detects the correct mode by checking for /bin/bin_ix/assemble at startup. Only override it if you need to force a specific mode for testing or in unusual deployment scenarios.