Install Methods
Each tool in the catalog defines one or more install methods. DPM picks the best available method for your platform automatically.
Method selection
When you run dpm install, DPM checks which methods are defined for the tool and which package managers are available on your system. It uses the first method that works, in the priority order defined in the catalog entry. You don't need to specify a method, selection is automatic.
The TUI shows the resolved install method for each tool in both the Tools tab and the Installed tab.
apt
Used on Debian, Ubuntu, Kali, and compatible distributions. DPM calls apt-get install with the package name specified in the catalog entry. Requires apt-get in PATH and may prompt for sudo depending on your system configuration.
Homebrew
Used on macOS (and Linux systems with Homebrew installed). DPM calls brew install with the formula name. Requires Homebrew to be installed and in PATH.
pip
Used for Python-based tools. DPM calls pip install (or pip3) with the package name. Requires Python and pip in PATH. Tools installed via pip are placed in the user site-packages by default (--user flag).
cargo
Used for Rust-based tools. DPM calls cargo install with the crate name. Requires a Rust toolchain (cargo) in PATH. Build times can be significant for complex crates.
Direct HTTP download
Used when no system package manager entry exists, or when a specific pre-built binary is preferred. DPM downloads the binary or archive from the catalog URL, verifies the SHA-256 hash, extracts if needed, and links the binary through ~/.dpm/bin/.
Fallback behaviour
If the preferred method for a tool is unavailable (e.g. brew on a Linux system without Homebrew), DPM tries the next defined method in the catalog entry's priority list. If no method works, the install fails with a clear error indicating which methods were attempted and why each was skipped.