Português (Portuguese)
Appearance
Português (Portuguese)
Appearance
Tuist organizes its files across several directories on your system, following the XDG Base Directory Specification. This provides a clean, standard way to manage configuration, cache, and state files.
Tuist supports both standard XDG variables and Tuist-specific prefixed variants. The Tuist-specific variants (prefixed with TUIST_) take precedence, allowing you to configure Tuist separately from other applications.
Environment variables:
TUIST_XDG_CONFIG_HOME (takes precedence)XDG_CONFIG_HOMEDefault: ~/.config/tuist
Used for:
credentials/{host}.json)Example:
# Set Tuist-specific config directory
export TUIST_XDG_CONFIG_HOME=/custom/config
tuist auth login
# Or use standard XDG variable
export XDG_CONFIG_HOME=/custom/config
tuist auth loginEnvironment variables:
TUIST_XDG_CACHE_HOME (takes precedence)XDG_CACHE_HOMEDefault: ~/.cache/tuist
Used for:
Example:
# Set Tuist-specific cache directory
export TUIST_XDG_CACHE_HOME=/tmp/tuist-cache
tuist cache
# Or use standard XDG variable
export XDG_CACHE_HOME=/tmp/cache
tuist cacheEnvironment variables:
TUIST_XDG_STATE_HOME (takes precedence)XDG_STATE_HOMEDefault: ~/.local/state/tuist
Used for:
logs/{uuid}.log){handle}.sock)Example:
# Set Tuist-specific state directory
export TUIST_XDG_STATE_HOME=/var/log/tuist
tuist generate
# Or use standard XDG variable
export XDG_STATE_HOME=/var/log
tuist generateWhen determining which directory to use, Tuist checks environment variables in the following order:
TUIST_XDG_CONFIG_HOME)XDG_CONFIG_HOME)~/.config/tuist)This allows you to:
You might want to isolate Tuist's cache and state per project:
# In your project's .envrc (using direnv)
export TUIST_XDG_CACHE_HOME="$PWD/.tuist/cache"
export TUIST_XDG_STATE_HOME="$PWD/.tuist/state"
export TUIST_XDG_CONFIG_HOME="$PWD/.tuist/config"In CI environments, you might want to use temporary directories:
# GitHub Actions example
env:
TUIST_XDG_CACHE_HOME: /tmp/tuist-cache
TUIST_XDG_STATE_HOME: /tmp/tuist-state
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: tuist generate
- name: Upload logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: tuist-logs
path: /tmp/tuist-state/logs/*.logWhen debugging issues, you might want a clean slate:
# Create temporary directories for debugging
export TUIST_XDG_CACHE_HOME=$(mktemp -d)
export TUIST_XDG_STATE_HOME=$(mktemp -d)
export TUIST_XDG_CONFIG_HOME=$(mktemp -d)
# Run Tuist commands
tuist generate
# Clean up when done
rm -rf $TUIST_XDG_CACHE_HOME $TUIST_XDG_STATE_HOME $TUIST_XDG_CONFIG_HOME