dot is a declarative CLI frontend for package managers and developer-tool installers.
You write down the tools and apps you want in one config file, then run dot apply to bring your machine closer to that state. The current version is focused on macOS and Homebrew.
- Manage Homebrew formulae with
brew - Manage Homebrew casks with
cask - Generate and apply a temporary
Brewfile - Preview planned commands with
--dry-run - Show generated files and commands with
--verbose
There is also early npm support, but it is currently safe/preview-only: npm commands are printed through echo and do not change global npm packages yet.
Create a config file at:
~/.config/dot/config.yamlExample:
brew:
- jq
- node@20
cask:
- firefox
- visual-studio-code
npm:
- typescriptPreview what dot would do:
dot apply --dry-runShow more detail, including generated files:
dot apply --verbose --dry-runApply the configuration:
dot applyWarning:
dot applyruns real Homebrew commands. Use--dry-runfirst if you want to inspect the plan.