Skip to content

Environment Variables

These variables tune paths and behaviour for dot. Most have sensible defaults; set them only when you need to override the default.

The global mise configuration (mise/.config/mise/config.toml) pins the shared developer toolchain, including the Skills CLI used by dot skill-updates and memex for browsing and searching local coding-agent history. The matching Herdr plugin provides session palettes, browsing, resume, indexing, and web UI actions. Node.js and Bun versions are also declared in the repository root mise.toml for dot and docs tasks.

Python 3.14 and uv are installed through mise for Python package and virtual-environment management. Use uv directly for project work; topgrade leaves mise pins unchanged unless you run mise install or dot update.

The stowed mise wrapper keeps the global config under dotfiles control. Commands such as Omarchy’s mise use -g <tool> are redirected to ~/.local/state/mise/omarchy-config.toml, while reads, installs, upgrades, and project-local writes continue normally. To intentionally change the stowed global config, opt in explicitly:

Terminal window
mise --write-global-config use -g --pin node@26

The configuration also provides the Android SDK command-line tools and sets the SDK environment for Gradle and sdkmanager. Individual Android repositories still declare their required platform and build-tools versions; install those SDK packages with sdkmanager when a checkout requires them.

VariableDescription
DOTFILES_PUBLIC_DIRPublic dotfiles path (default ~/.config/dotfiles).
DOTFILES_PRIVATE_DIRPrivate dotfiles path (default ~/.config/dotfiles-private).
DOT_ALLOW_PRIVATEPrivate overlay policy: optional auto, required always, or skipped never (default auto). A failed attempted clone is fatal in auto mode.
VariableDescription
DOT_GIT_CONFIG_FILEPrivate git repo config for git-diff, git-log, git-workflows, git-notifications --bar-json, update, and doctor (default $DOTFILES_PRIVATE_DIR/dot-git.yml).
DOT_GITHUB_RETRIESExtra gh retry attempts after the first try (default 2).
DOT_GITHUB_RATE_LIMIT_TTL_SECONDSSeconds to cache gh api rate_limit results (default 60).
DOT_GITHUB_RATE_LIMIT_MIN_REMAININGMinimum REST quota remaining before gh calls wait (default 0).
DOT_GITHUB_RATE_LIMIT_MAX_WAIT_SECONDSUpper bound on rate-limit backoff waits (default 60).
DOT_FETCH_TTL_SECONDSSeconds to reuse the last upstream fetch (default 300).
DOT_GH_EXTENSIONS_FILEPublic gh extension list installed by dot init (default $DOTFILES_PUBLIC_DIR/.dot-gh-extensions).
DOT_GH_MCP_BEARERBearer token for the read-only GitHub MCP server. The shell wrappers and opencode-server set it only for agent harness processes; it is not exported globally.
VariableDescription
DOT_PUBLIC_PACKAGES_FILEPublic Arch/AUR package list for dot init and package checks (default $DOTFILES_PUBLIC_DIR/.dot-public-packages).
DOT_PUBLIC_PACMAN_REPO_CONFIGSigned public pacman repo snippet written by dot (default /etc/pacman.d/timmo.conf).
DOT_PUBLIC_PACMAN_MAIN_CONFIGMain pacman config scanned for the public repo include (default /etc/pacman.conf).
DOT_PRIVATE_PACKAGE_REPO_FILEPrivate pacman repo config (default $DOTFILES_PRIVATE_DIR/.dot-private-package-repo).
DOT_PRIVATE_PACKAGES_FILEPrivate package list override (default base list plus .dot-private-packages--<host>).
DOT_PRIVATE_PACKAGE_MAP_FILEPrivate package name-to-source map for dot private-pkg-publish (default $DOTFILES_PRIVATE_DIR/.dot-private-package-map).
DOT_PRIVATE_PACMAN_REPO_CONFIGPacman repo snippet path written by dot (default /etc/pacman.d/timmo-private.conf).
DOT_PRIVATE_PACMAN_MAIN_CONFIGMain pacman config file scanned for the private repo Include (default /etc/pacman.conf).
DOT_PRIVATE_BROWSER_CHECKS_FILEPrivate browser-extension doctor checks (default $DOTFILES_PRIVATE_DIR/.dot-browser-checks).
VariableDescription
OMARCHY_REPO_BASE_DIROmarchy repo base path (default ~/.config).
OMARCHY_HOSTHypr host override name; dot init defaults to desktop when unset unless --host <name> is passed.
VariableDescription
DOT_INIT_NONINTERACTIVEForce non-interactive init mode (1|0, default 0).
DOT_INIT_LOG_FILEDefault dot init log path when --log is not passed (default ~/.local/state/dot/init.log).
DOT_LOG_FILEActive log file for the current dot run. Set automatically during dot init; child commands inherit it when DOT_TEE_INHERIT_LOG=1.
DOT_LOG_MIRROR_FILESecondary log destination mirrored after each write. Set automatically when dot init --log targets a GVFS path that cannot be written directly.
DOT_TEE_INHERIT_LOGWhen 1, child processes launched by dot append stdout/stderr to DOT_LOG_FILE (set automatically during dot init).
DOT_UFW_RULES_FILEufw rules file scanned by the firewall setup and doctor check (default /etc/ufw/user.rules).

dot agents-sync mirrors ~/.config/opencode/AGENTS.md to agent harness instruction files. It runs automatically at the end of full dot update and dot init; phase-scoped updates skip it. There is no environment toggle to disable it.

Each target receives a transformed copy with harness-appropriate formatting where needed. All targets include a dot agents-sync HTML comment with source path and timestamp. OpenCode remains the single source of truth; other agent harnesses get plain file copies, not symlinks.

VariableDescription
DOT_AGENTS_SYNC_SOURCEAGENTS file to mirror (default ~/.config/opencode/AGENTS.md).
DOT_AGENTS_SYNC_RULE_FILEOverride path for a primary agents-sync target (default ~/.cursor/rules/global-agents.mdc).
VariableDescription
DOT_MCP_CONFIG_FILEPrivate MCP sync spec read by dot mcp-sync (default $DOTFILES_PRIVATE_DIR/mcp.yml).
VariableDescription
DOT_DEBUGEnable stderr debug logging from dot subsystems (1 or any non-empty value).
DOT_USAGE_DIRUsage event root (default $XDG_STATE_HOME/tool-usage).
DOT_USAGE_DISABLEDisable automatic live dot usage recording when set to 1; explicit backfill still writes.
DOT_CONTEXT_CAPTURECapture assembled OpenCode starter context when set to 1.
DOT_CONTEXT_CAPTURE_DIRParent for private context-baseline-* capture directories (default /tmp/opencode).
NO_COLORDisable ANSI colour in TTY-aware output such as context git (any non-empty value).

Context capture writes numbered system-prompt segments, system-index.json, per-tool schemas, and tools.jsonl into a unique private child directory. It measures assembled context without changing prompts or tool definitions.

VariableDescription
DOT_AGENTOverride AI agent detection used by dot is-agent and the interactive-TUI guard: 1 forces agent mode, 0 forces it off, unset auto-detects.
VariableDescription
NOTESNotes vault git repo used by the standalone notes CLI/MCP server and OpenCode note commands (preferred; default ~/Documents/notes).
DOT_NOTES_DIRCompatibility notes vault override used when NOTES is unset.