Skip to content

Between Versions

Sections are chronological. Find the version you’re upgrading from and read downward — everything below it applies to you.

If dotkit showed you a warning pointing here, silence it once you’re done:

Terminal window
dotkit self dismiss

Profiles became kits, and dotkit apply folded into dotkit run.

Marker files are gone. A folder is a symlink source or a checklist because a dotkit file says so, not because of a file inside it.

DeleteReplaced by
link.env with DEST=~dotkit link dotfiles (DEST defaults to ~)
todo.env with TITLE=/NAME=/DEST=dotkit todo --title 'Setup' --out ~/TODO.md todo
run.envany *.env name; it’s now plain configuration
order.txtthe order you write lines in your dotkit file
profile.envany *.env name

It replaces order.txt:

map dotkit run {{item}}
configs
tools
packages
git
---
dotkit link dotfiles
dotkit todo -f --title 'Setup Checklist' --out ~/TODO.md todo

Name it .dotkit for a kit that runs without prompting. See Kits for the full precedence list.

configs/, tools/, and packages/ are no longer reserved names and no longer run in a fixed order. Order is the order you write.

A dotkit file is not required. dotkit run configs works on any folder and simply executes its .txt, .md, and .sh files alphabetically. What the file gives you is an entry point that names several folders in one go, and a boundary: the nearest dotkit file above any file, walking upward, marks that file’s kit root, which is where the .env search stops.

work/
work.dotkit ← nearest dotkit file above repos.txt, so the walk stops here
dotkit.env ← read
git/
git.env ← read, and wins over dotkit.env
repos.txt

Without one anywhere above it, a file gets only the .env files in its own directory.

WasNow
dotkit apply DIRdotkit run DIR, or bare dotkit run for the current directory
dotkit link SRC (read link.env)dotkit link SRC [DEST], DEST defaults to ~
dotkit todo -f DIR (read todo.env)dotkit todo -f --title T --out PATH DIR
--profile NAME (installer)--dotkit NAME

dotkit apply no longer exists.

dotkit.envprofile.envrun.env was a fixed three-level cascade. Now any file ending in .env is read, walking from the kit root down to whichever file is running, so a nearer one wins. The walk stops at the kit root, at ~, and at /.

Renaming is usually all that’s needed: profile.env and run.env already sit in the right places, and their names no longer mean anything.

DOTKIT_PROFILE and DOTKIT_PROFILE_DIR are gone. dotkit add now finds its kit by walking up from your working directory, so run it from inside the repo.

before/ after/
dotkit.env .dotkit ← new
profiles/work/ dotkit.env
profile.env configs/
order.txt packages/
configs/ dotfiles/ ← link.env deleted
packages/ todo/ ← todo.env deleted
dotfiles/link.env
todo/todo.env
Terminal window
dotkit run --dry-run . # confirm resolution before running anything