Skip to content

Tools & Packages ​

This document provides a comprehensive reference of all tools and packages available through the installation profiles.

Quick Reference ​

Use this guide to:

  • Find specific tools and their installation source
  • Understand what each tool does
  • Determine which profile includes a tool
  • Check if a tool is in lite mode (the Lite column of Installation Profiles)

Command Line Tools ​

Core Utilities ​

Essential system utilities (always installed):

ToolDescriptionSource
build-essentialCompiler toolchain and build toolsapt
curlData transfer tool (HTTP/HTTPS/FTP)homebrew/apt
wgetNon-interactive network downloaderhomebrew/apt
jqJSON processor and query toolhomebrew/apt
gitDistributed version controlapt
sedStream editor for text manipulationapt
gsedGNU sed (macOS)homebrew
gzipData compression utilityhomebrew/apt
tarArchive creation and extractionapt
unzipZIP archive extractionhomebrew/apt
xz-utilsXZ compression utilitieshomebrew/apt
gnupgGPG encryption and signinghomebrew/apt
ca-certificatesSSL/TLS certificate authoritieshomebrew/apt
localesLocale definitionsapt
zshZ shellapt
oh-my-zshZsh configuration managershell

On macOS, git comes with the Command Line Tools, zsh ships with the system and the BSD sed stays in place: GNU sed is installed as gsed, and .zshrc aliases sed to it when it is present.

Enhanced CLI Tools ​

Modern replacements and enhancements (Base profile):

ToolReplacesDescriptionSource
batcatSyntax highlighting, git integrationhomebrew/mise
ezalsColors, icons, git statushomebrew/mise
fdfindSimpler syntax, fasterhomebrew/mise
ripgrep (rg)grepFaster recursive searchhomebrew/mise
fzf-Fuzzy finder for command linehomebrew/mise
yq-YAML processor (jq for YAML)homebrew/mise

Git Tools ​

Git and platform CLIs (Base profile):

ToolDescriptionExtensionsSource
lazygitTerminal UI for git-homebrew/mise
ghGitHub CLIgh-dash, gh-notifyhomebrew/mise
glabGitLab CLI-homebrew/mise

GitHub CLI Extensions:

sh
# Install via gh
gh extension install dlvhdr/gh-dash    # Dashboard TUI
gh extension install meiji163/gh-notify  # Notifications TUI

Container & Orchestration ​

Docker tools (Base profile):

ToolPurposeRelated ToolsSource
dockerContainer runtimelazydockercask/apt
lazydockerDocker TUI-homebrew/mise

On macOS docker is Docker Desktop (see Desktop Applications below); on Debian it is the Docker engine and CLI from Docker's apt repository.

Kubernetes tools (DevOps profile):

ToolPurposeRelated ToolsSource
kubectlKubernetes CLIk9s, kubectx, sternhomebrew/mise
helmKubernetes package managerchart-testing, helm-docshomebrew/mise
helm-docsHelm chart documentationhelmhomebrew/mise
kindLocal Kubernetes-homebrew/mise
k9sKubernetes TUI-homebrew/mise
krewkubectl plugin manager-homebrew/mise
kubectxKubernetes context switcherkubenshomebrew/mise
kubensKubernetes namespace switcherkubectxhomebrew/mise

kubectl Plugins (via Krew):

sh
kubectl krew install cnpg          # CloudNativePG CLI
kubectl krew install df-pv         # PV disk usage
kubectl krew install ktop          # Kubernetes top
kubectl krew install neat          # Clean YAML output (macOS only)
kubectl krew install stern         # Multi-pod logs
kubectl krew install view-secret   # Decode secrets

Infrastructure as Code ​

IaC and configuration management (DevOps profile):

ToolPurposeConfig FilesSource
terraformInfrastructure as code.tfhomebrew/mise
ansibleConfiguration management.yml playbookshomebrew/uv
ansible-lintAnsible linter-homebrew/uv

On macOS terraform (and vault, in the SecOps profile) come from HashiCorp's Homebrew tap, hashicorp/tap: homebrew/core no longer updates them since their license change.

Cloud Platform CLIs ​

Cloud provider tools (DevOps profile):

ToolPlatformSource
scwScalewayhomebrew/mise
ocOpenShift/OKDhomebrew/mise

Security Tools ​

Scanning and secret management (SecOps profile):

ToolPurposeScansSource
trivyVulnerability scannercontainers, IaC, codehomebrew/mise
cosignContainer signingimageshomebrew/mise
sopsSecret encryptionfileshomebrew/mise
vaultSecret management-homebrew/mise
gitleaksSecret detectiongit reposhomebrew/mise
ageFile encryption-homebrew/mise
kubescapeKubernetes securityK8s configshomebrew/mise
kyvernoKubernetes policiesK8s resourceshomebrew/mise
diveImage layer analysisDocker imageshomebrew/mise

AI Tools ​

AI coding agents and helpers (AI profile):

ToolPurposeSource
claude-codeClaude Code CLIcask/shell
copilot-cliGitHub Copilot CLIcask/shell
direnvPer-directory env loader (scoped agent secrets)homebrew/mise
rtkCLI proxy that reduces LLM token usagehomebrew/shell

On macOS, claude-code and copilot-cli are Homebrew casks (Homebrew ships them only as casks). Ollama is listed under Desktop Applications below; on Debian the AI profile installs it with its own installer script.

Development Languages ​

Runtime and toolchain management:

JavaScript/TypeScript (JS profile) ​

ToolPurposeManaged BySource
nodeJavaScript runtimemisemise
npmPackage managernodenode
pnpmFast package managermisemise
yarnPackage managermisemise
bunFast runtime & toolkitmisemise
@antfu/niPackage manager wrapper-npm

npm is not pinned separately: it ships inside the node release. Globals installed with npm install -g land in the active node install and become callable after mise reshim.

Go (Go profile) ​

ToolPurposeSource
goGo compilermise
cobra-cliCLI frameworkgo
kubebuilderKubernetes API SDKhomebrew/mise
kustomizeKubernetes YAML overlayhomebrew/mise
operator-sdkKubernetes operator SDKhomebrew/mise

Python (DevOps profile) ​

ToolPurposeSource
uvFast Python installer (Debian only)mise
libonig-dev, python3-devDevelopment files installed with ansible-dev-tools (Debian only)apt

On Debian, ansible and ansible-dev-tools are installed with uv tool install --python, which pins an explicit self-contained interpreter and exposes the entry points in ~/.local/bin. --with-executables-from (ansible-core, ansible-lint) puts ansible, ansible-playbook and ansible-lint on the PATH. They are not installed via mise: its pipx backend uses whichever python3 it finds on the machine, which cannot be pinned and breaks when the distro or Homebrew moves that interpreter (ansible-core requires Python >= 3.12). Override with ANSIBLE_PYTHON. On macOS both come from Homebrew and uv is not installed.

Version Manager ​

ToolManagesSource
miseLanguage runtimes (both); CLI binaries (Debian only)homebrew/apt

mise manages language runtimes on both platforms, and portable CLI binaries on Debian. On macOS, Homebrew is the package manager for CLI tools.

Usage:

sh
# Install a tool globally and pin it
mise use --global node@22

# Install without pinning globally (current directory only)
mise use node@22

# List installed / available versions
mise ls
mise ls-remote node

# Tools not in the registry are addressed by backend
mise use --global aqua:helm/chart-testing@latest
mise use --global github:tldr-pages/tlrc@latest

# Refresh shims after installing globals via npm/go
mise reshim

Text & Document Tools ​

Editors and document processors (Base profile):

ToolTypePurposeSource
vimEditorUbiquitous text editorhomebrew/apt
nvimEditorExtensible Vimhomebrew/mise
pandocConverterUniversal document converterhomebrew/apt
glowViewerMarkdown rendererhomebrew/mise

Networking & Remote Access ​

Network tools and SSH (Base/DevOps profiles):

ToolPurposeSource
nmapPort scanninghomebrew/apt
sshsInteractive SSH clienthomebrew/mise
sshpassNon-interactive SSH authhomebrew/apt
teleportModern SSH serverhomebrew/apt
ttydTerminal over webhomebrew/mise

Cloud Storage & Sync ​

File transfer and cloud storage (Base profile):

ToolPurposeProvidersSource
rcloneCloud storage CLIAWS S3, GCS, Azure, etc.homebrew/mise

Monitoring & Diagnostics ​

System and application monitoring:

ToolPurposeWhat it monitorsSource
watchRepeat commandCommand outputhomebrew/apt
k9sKubernetes TUIK8s resourceshomebrew/mise
lazydockerDocker TUIContainershomebrew/mise

Documentation & Learning ​

Cheatsheets and help tools (Base profile):

ToolPurposeSource
cheatInteractive cheatsheetshomebrew/mise
tlrcSimplified man pageshomebrew/mise

Media & Graphics ​

Media manipulation (Base profile):

ToolPurposeFormatsSource
ffmpegAudio/video processingmp4, mkv, mp3, etc.homebrew/apt
chafaTerminal image viewerjpg, png, gifhomebrew/apt
exiftoolMetadata reader/writerall imageshomebrew/apt

CI/CD & Automation ​

Continuous integration tools (DevOps profile):

ToolPurposePlatformSource
actLocal GitHub ActionsGitHubhomebrew/mise
actionlintWorkflow file lintingGitHubhomebrew/mise
argoArgo Workflows CLIKuberneteshomebrew/mise
argocdArgo CD CLIKuberneteshomebrew/mise
chart-testingHelm chart testingHelmhomebrew/mise
k6Load testing-homebrew/mise

Utilities ​

Miscellaneous utilities:

ToolPurposeSource
treeDirectory tree viewerhomebrew/apt
bat-extrasBat utilities (batgrep, batman, etc.)homebrew/shell
coreutilsGNU core utilities (Debian only)apt
man, man-db, manpages-devManual pages and viewer (Debian only)apt
fontconfigFont configuration, provides fc-cache (Debian only)apt
nerd-fontsHack and Symbols Only fonts for neovimshell
mkcertLocal SSL certificates (macOS only)homebrew
coderRemote developmenthomebrew/mise
orasOCI registry clienthomebrew/mise
veleroKubernetes backuphomebrew/mise
vhsTerminal recorderhomebrew/mise
yamllintYAML lintinghomebrew/mise

Desktop Applications (macOS) ​

Base Profile ​

AppPurposeLicense
VS CodeCode editorFree
BravePrivacy browserFree
FirefoxPrivacy browserFree
InsomniaAPI clientFree
MattermostTeam chatFree
OpenVPN ConnectVPN clientFree
Docker DesktopContainer GUIFree

AI Profile ​

AppPurposeLicense
OllamaLocal LLM runnerFree

Extras Profile ​

AppPurposeLicense
VLCMedia playerFree
AudacityAudio editorFree
DiscordVoice/chatFree
TransmissionBitTorrentFree
SoulseekP2P file sharingFree
Raspberry Pi ImagerSD card flasherFree

Installation Quick Reference ​

By Source ​

Homebrew (macOS):

sh
brew install <package>          # CLI tools
brew install --cask <app>       # Applications (and claude-code, copilot-cli)

The profiles list their Homebrew packages in setup/profiles/osx/<profile>.Brewfile and install them with brew bundle --file; to install one profile's packages by hand: brew bundle --file setup/profiles/osx/devops.Brewfile.

apt (Debian/Ubuntu):

sh
sudo apt install <package>

mise (CLI tools & language runtimes):

sh
mise use --global <tool>@<version>

npm (Node Packages):

sh
npm install --global <package>
mise reshim                     # publish the new binary as a mise shim

go (Go Packages):

sh
go install <package>@latest

uv (Python Tools, Debian):

sh
uv tool install --python 3.13 <package>

Shell Scripts:

sh
curl -fsSL <url> -o install.sh   # download first, then read and run it
bash install.sh

The setup scripts do the same: a remote script is downloaded first and only run once the download succeeded.

GitHub CLI:

sh
gh extension install <org>/<repo>

kubectl/Krew:

sh
kubectl krew install <plugin>

By Profile ​

Quick installation commands:

sh
# Core only (minimal)
./setup/setup-osx.sh

# Base tools
./setup/setup-osx.sh -p base

# DevOps full stack
./setup/setup-osx.sh -p 'devops,secops'

# Full-stack developer
./setup/setup-osx.sh -p 'base,js,go'

# Everything
./setup/setup-osx.sh -p 'base,ai,devops,go,js,secops,extras'

# Lite mode (only the tools marked ✓ in 04-profiles.md)
./setup/setup-osx.sh -l -p 'devops,js'

Package Managers ​

Understanding the sources:

ManagerPlatformPurposeAuto-Installed
HomebrewmacOSCLI tools, system packages & GUI apps✓
aptDebian/UbuntuSystem packages✓
miseAllLanguage runtimes; CLI binaries on Debian✓
npmAllNode.js packagesvia mise
uvDebianPython tools (ansible, ansible-lint)via mise
goAllGo packagesvia mise
KrewAllkubectl pluginsvia kubectl
ghAllGitHub CLI extensionsvia gh

Verifying Installation ​

Check installed tools:

sh
# Check specific tool
which kubectl
kubectl version

# List all Homebrew packages (macOS)
brew list

# List apt packages (Debian)
apt list --installed

# Check mise tools
mise ls

# Check npm global packages
npm list -g --depth=0

# Check uv tools (Debian)
uv tool list

# Check kubectl plugins
kubectl plugin list

Updating Packages ​

Keep tools up to date:

sh
# Homebrew (macOS)
brew update && brew upgrade

# apt (Debian/Ubuntu)
sudo apt update && sudo apt upgrade

# mise tools - --bump is required, see below
mise upgrade --bump

# npm packages
npm update -g

# uv tools (Debian)
uv tool upgrade --all

# kubectl plugins
kubectl krew upgrade

Why mise upgrade needs --bump ​

~/.config/mise/conf.d/00-settings.toml sets pin = true, so mise use records an exact version (kubectl = "1.34.2") rather than a range. A plain mise upgrade only upgrades within the recorded constraint, and an exact version is always already satisfied — so it reports "All tools are up to date" and changes nothing, however old the tools are.

--bump is what rewrites the pin to the current latest and installs it:

sh
# See what is actually behind (plain `mise outdated` has the same blind spot)
mise outdated --bump

# Upgrade everything and rewrite the pins
mise upgrade --bump

# Upgrade a single tool
mise upgrade --bump kubectl

Re-running a setup profile has the same effect, since each one installs its tools with @latest.

Upgrading mise itself follows whichever way it was installed: brew upgrade mise on macOS, sudo apt-get install --only-upgrade mise (or a full apt upgrade) on Debian, where it comes from mise's signed apt repository. A copy installed earlier with the mise.run script, in ~/.local/bin, updates with mise self-update.

Further Resources ​