Skip to content

CLI Reference

CtrlUserKnown edited this page Jul 21, 2026 · 1 revision

CLI Reference

Running dots with no arguments opens the Interactive TUI. Everything the TUI does is also available as a subcommand, so dots works well in scripts and setup flows.

dots [--version] [COMMAND]
Command Description
dots health [--fix] Check and repair all declared symlinks, tools, and plugins. Prints an OK / repaired / skipped summary.
dots update Open the update screen to check for and apply updates.
dots install <name> Install a single dependency by name.
dots install --all Install all missing Required dependencies.
dots install --optional Install all missing Optional dependencies.
dots aliases list List all aliases (built-in + user), with their type.
dots aliases add <name> <value> Add a user alias (written to ~/.personal/aliases.zsh).
dots aliases remove <name> Remove a user alias.
dots premade list List available bundled app configs.
dots premade apply <app> Apply a bundled config (backs up any existing file).
dots link add <source> <target> Adopt a file/dir and symlink it; recorded in links.toml.
dots link list List declared links and their status.
dots link apply Create or repair all declared links.
dots link remove <target> Remove a declared link and its symlink.
dots profile generate [path] Export your setup to personal.json (defaults to a standard path).
dots profile import <path> Import a personal.json from a local file.
dots profile import-git <spec> Import a personal.json from GitHub (user/repo/path/to/file.json).
dots init [--quiet] Initialize config: create settings.toml and ~/.personal/. Idempotent; run automatically by the installer.
dots --version Print the version.

Examples

# First run after install — set up your links, then verify
dots link add ~/dotfiles/starship.toml ~/.config/starship.toml
dots health

# Install missing tools
dots install --all
dots install lazygit

# Apply a starter Neovim config (existing config is backed up first)
dots premade apply neovim

# Move your setup to a new machine
dots profile generate ~/personal.json          # on the old machine
dots profile import-git you/dotfiles/personal.json   # on the new one

See also: Managing Symlinks · Dependencies · Premade Configs · Profiles.

Clone this wiki locally