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.

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_INCLUDE_OMARCHY_DIFF_REPOSInclude Omarchy repos in dot git-diff (1|0, default 1).
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, full dot update, and package checks (default $DOTFILES_PUBLIC_DIR/.dot-public-packages).
DOT_PRIVATE_PACKAGE_REPO_FILEPrivate pacman repo config (default $DOTFILES_PRIVATE_DIR/.dot-private-package-repo).
DOT_PRIVATE_PACKAGES_FILEPrivate package list (default $DOTFILES_PRIVATE_DIR/.dot-private-packages).
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.
DOT_OMARCHY_BRANCHBranch override for non-bootstrap Omarchy repos during sync.
DOT_BOOTSTRAP_BRANCHBranch for bootstrap sync (default distro/omarchy).
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.