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

Command Line Tools

Core Utilities

Essential system utilities (always installed):

ToolDescriptionSource
curlData transfer tool (HTTP/HTTPS/FTP)homebrew/apt
wgetNon-interactive network downloaderhomebrew/apt
jqJSON processor and query toolhomebrew/apt
sedStream editor for text manipulationhomebrew/apt
gzipData compression utilityhomebrew/apt
tarArchive creation and extractionapt
unzipZIP archive extractionhomebrew/apt
gnupgGPG encryption and signinghomebrew/apt
ca-certificatesSSL/TLS certificate authoritieshomebrew/apt

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 and Kubernetes tools (DevOps profile):

ToolPurposeRelated ToolsSource
dockerContainer runtimelazydockerapt/cask
kubectlKubernetes CLIk9s, kubectx, sternhomebrew/mise
helmKubernetes package managerchart-testing, helm-docshomebrew/mise
kindLocal Kubernetes-homebrew/mise
k9sKubernetes TUI-homebrew/mise

kubectl Plugins (via Krew):

sh
kubectl krew install cert-manager  # cert-manager CLI
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
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
kustomizeKubernetes configkustomization.yamlhomebrew/mise

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

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 install
kubebuilderKubernetes API SDKhomebrew/mise
kustomizeKubernetes YAML overlayhomebrew/mise
operator-sdkKubernetes operator SDKhomebrew/mise

Python (DevOps profile)

ToolPurposeSource
uvFast Python installermise

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. 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.

Version Manager

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

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:isacikgoz/tldr@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/shell
pandocConverterUniversal document converterhomebrew/apt
glowViewerMarkdown rendererhomebrew/apt

Networking & Remote Access

Network tools and SSH (Base/DevOps profiles):

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

Cloud Storage & Sync

File transfer and cloud storage (Base profile):

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

Monitoring & Diagnostics

System and application monitoring:

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

Documentation & Learning

Cheatsheets and help tools (Base profile):

ToolPurposeSource
cheatInteractive cheatsheetshomebrew/apt
tldr++Simplified man pageshomebrew/shell
skateKey-value storehomebrew/shell

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/apt
actionlintWorkflow file lintingGitHubhomebrew/mise
argoArgo Workflows CLIKuberneteshomebrew/apt
argocdArgo CD CLIKuberneteshomebrew/apt
chart-testingHelm chart testingHelmhomebrew/shell
k6Load testing-homebrew/apt

Utilities

Miscellaneous utilities:

ToolPurposeSource
treeDirectory tree viewerhomebrew/apt
bat-extrasBat utilities (batgrep, batman, etc.)homebrew/shell
mkcertLocal SSL certificateshomebrew/shell
coderRemote developmenthomebrew/shell
veleroKubernetes backuphomebrew/apt
vhsTerminal recorderhomebrew/apt
yamllintYAML lintinghomebrew/apt

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

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 -g <package>

go (Go Packages):

sh
go install <package>@latest

pip (Python Packages):

sh
pip install <package>

Shell Scripts:

sh
curl -fsSL <url> | bash

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 ✓ marked tools)
./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
uvAllPython packages (ansible)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 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

# 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, mise self-update on Debian.

Further Resources