Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configuration File Reference

Everything DotR manages is described in a single config.toml at the repository root, created by dotr init.

Top level

banner = true

[variables]
# ...

[prompts]
# ...

[packages.<name>]
# ...

[profiles.<name>]
# ...
FieldTypeDefaultPurpose
bannerbooltruePrint the DotR ASCII banner on commands. Set false for quiet output.
variablestable{}Config-level variables — see Variables.
promptstable{}Config-level prompts — see Prompts.
packagestable{}Package definitions, keyed by name — see below.
profilestable{ default = {} }Profile definitions, keyed by name — see below. A default profile always exists.

[packages.<name>]

[packages.nvim]
src = "dotfiles/nvim"
dest = "~/.config/nvim/"
dependencies = ["fonts"]
pre_actions = ["mkdir -p ~/.local/share/nvim"]
post_actions = ["nvim --headless +PluginInstall +qall"]
skip = false
symlink = false
clean = true
ignore = ["*.log"]

[packages.nvim.variables]
THEME = "gruvbox"

[packages.nvim.targets]
work = "~/work-config/nvim/"

[packages.nvim.prompts]
NVIM_TOKEN = "Enter your plugin registry token"
FieldTypeDefaultPurpose
srcstringPath to the file/directory in the repository. Required.
deststringDeployment destination. ~ and template variables are expanded. Required.
dependencieslist of stringsnoneOther packages deployed alongside this one — Dependencies.
variablestable{}Package-scoped variables — Variables.
pre_actionslist of strings[]Shell commands run before deploy — Actions.
post_actionslist of strings[]Shell commands run after deploy — Actions.
targetstable (profile → path){}Per-profile destination override — Packages.
skipboolfalseExcluded from profile-driven (implicit) selection — Packages.
promptstable{}Package-scoped prompts — Prompts.
ignorelist of glob patterns[]Files excluded from deploy/clean — Ignoring Files.
symlinkboolfalseDeploy as a symlink instead of a copy — Symlinks.
cleanbooltrueRemove stray files at the destination — Clean Mode.

[profiles.<name>]

[profiles.work]
dependencies = ["nvim", "git"]

[profiles.work.variables]
GIT_EMAIL = "work@company.com"

[profiles.work.prompts]
WORK_TOKEN = "Enter your work VPN token"
FieldTypeDefaultPurpose
dependencieslist of strings[]Packages deployed when this profile is active and no --packages is given — Profiles.
variablestable{}Profile-scoped variables — Variables.
promptstable{}Profile-scoped prompts — Prompts.

Other files DotR creates

FileTracked in git?Purpose
config.tomlYesThe configuration described above.
dotfiles/YesPackage sources — the actual file/directory content for each package.
.gitignoreYesWritten by dotr init; excludes .uservariables.toml and deployed.
.uservariables.tomlNoAnswers to prompts — secrets live here.
deployed/NoStaging directory for symlinked packages.