Skip to content

Profiles

CtrlUserKnown edited this page Jul 21, 2026 · 1 revision

Profiles

A profile is a portable snapshot of your dots setup, stored as personal.json. Generate it on one machine and import it on another to reproduce your configuration.

Export

dots profile generate            # writes to the default personal.json path
dots profile generate ~/mysetup.json

This inspects your current system and records your personal configuration into a JSON file.

Import

From a local file:

dots profile import ~/mysetup.json

Or straight from GitHub, using a user/repo/path/to/file.json spec:

dots profile import-git you/dotfiles/personal.json

Imports are validated before anything is applied. After applying, if any packages named in the profile aren't installed yet, dots tells you exactly which ones and suggests:

dots install --optional

Typical workflow

# On your current machine
dots profile generate ~/personal.json
#   commit personal.json into your dotfiles repo, then push

# On a new machine (after installing dots)
dots profile import-git you/dotfiles/personal.json
dots install --all
dots health

See also: Dependencies · Configuration.

Clone this wiki locally