-
Notifications
You must be signed in to change notification settings - Fork 0
Dependencies
CtrlUserKnown edited this page Jul 21, 2026
·
1 revision
dots manages a single, cross-platform dependency list. Each entry maps a binary
name to its package name under Homebrew, dnf, and apt, so the same
list works on macOS and Linux. dots auto-detects your package manager (brew,
then apt, then dnf).
The list is defined in
crates/dots/src/packages.rs
as a structured DEPS table, organized in three tiers.
| Category | Installed by | Examples |
|---|---|---|
| Required | dots install --all |
git, eza, bat, fd, fzf, fastfetch, zoxide |
| Optional | dots install --optional |
neovim, herdr, btop, lazygit, yazi, carapace |
| Dev | dots install <name> |
java, go, lua, maven, cmake, gcc, ripgrep, shellcheck, gh, docker, nmap, ffmpeg |
dots install --all # all missing Required deps
dots install --optional # all missing Optional deps
dots install lazygit # a single package by binary or brew nameYou can also install tools interactively from the Tools pane / Health screen in the TUI.
-
Package manager detection:
brew→apt→dnf, first match wins. If none is found, dots reports that it can't install automatically. -
Per-platform names: a package can differ across platforms (e.g.
fdisfd-findon dnf/apt); dots picks the right name for your system. - Casks & taps: Homebrew casks and taps are supported for entries that need them.
-
Script installs: some tools (e.g.
herdr) install via an upstream script rather than a package manager, and dots runs that when it's the right source. -
Health checks:
dots healthreports which tools are present vs missing by probing for the binary.
Separately from DEPS, the Health screen's Plugins pane
tracks shell plugins by checking for them at known paths:
zsh-autosuggestionszsh-syntax-highlightingzsh-history-substring-searchfzf-tab
Guides
Contributing