Skip to content

Components and --with

Optional software layers are components (and supergroups that expand to components). Select them with profile with / without or CLI --with / --without for that run.

Authority: configs/components.toml (generated components, generated --with options, supergroups).

known ≠ selected ≠ installed

Term Meaning
known Package appears in brew/groups/*.Brewfile or a component brewfile=
selected Active package group and/or last-recorded --with / profile with
installed Present on the machine (Homebrew or app)

Installed optional tools (Herdr, Ollama, mactools formulae, …) can look “missing from DOTS” when they are only known and installed, not selected. That is INACTIVE, not UNDECLARED.

INACTIVE   = known owner(s), none selected, installed
UNDECLARED = no DOTS group/component owner
MANAGED    = selected (desired set) and package-manager owned

~/.config/dots/active-profile records DOTS_LAST_WITH_INFO and DOTS_ACTIVE_COMPONENTS for read-only discovery (./dots packages, ./dots components active).

These fields are informational only. They must not auto-feed mutating AI setup. Binary presence ≠ consent. Mutating setup still needs profile with / ./setup.sh --with (or ./dots setup --with) for that invocation.

CLI

./dots components list              # registry + host compatibility
./dots components active            # last selection (informational)
./dots components show mactools     # Brewfile tokens, skills, activate hint
./dots setup --with herdr,mactools
./dots setup --with ai --without cursor
./dots packages status              # MANAGED / INACTIVE / UNDECLARED sections
./dots packages explain dust        # owners + activate hint

Docs site: https://sempervent.github.io/dots/using/components/

Upgrade scope (unchanged)

./dots packages upgrade upgrades active managed outdated packages only. ./dots packages upgrade --all is broader (opt-in). Inactive packages are not in the desired set and are skipped unless --all.

See also