Installation Profiles
This document provides detailed information about each installation profile and the packages they include.
Profile Overview
Profiles allow you to install groups of related tools based on your workflow. Each profile can be installed independently or combined with others.
# Install multiple profiles
./setup/setup-osx.sh -p 'devops,secops,js'
Core Profile
The Core profile is always installed and provides essential system utilities.
Command Line Interfaces
Package | Description | Lite | macOS | Debian |
---|---|---|---|---|
build-essential | Essential packages for building debian packages | ✓ | - | apt |
ca-certificates | Common CA certificates | ✓ | homebrew | apt |
coreutils | Basic file, shell and text manipulation utilities | ✓ | - | apt |
curl | Command line tool for transferring data with URLs | ✓ | homebrew | apt |
gnupg | Encryption tool (GPG) | ✓ | homebrew | apt |
gzip | Data compression program | ✓ | homebrew | apt |
jq | JSON processor tool | ✓ | homebrew | apt |
locales | Tools to generate locale definitions | ✓ | - | apt |
oh-my-zsh | Zsh configuration manager | ✓ | shell | shell |
sed | Non-interactive command-line text editor | ✓ | homebrew | apt |
tar | Create and manipulate tar archives | ✓ | - | apt |
unzip | De-archiver for zip files | ✓ | homebrew | apt |
wget | Retrieve files using HTTP, HTTPS, FTP and FTPS | ✓ | homebrew | apt |
xz-utils | XZ format compression utilities | ✓ | homebrew | apt |
Base Profile
The Base profile provides enhanced CLI tools and common applications for daily development work.
Command Line Interfaces
Package | Description | Lite | macOS | Debian |
---|---|---|---|---|
bat | Cat command with syntax highlighting | ✓ | homebrew | apt |
bat-extras | Bat combo with other commands (batgrep, batman, etc.) | ✓ | homebrew | shell |
chafa | Image viewer in terminal | - | homebrew | apt |
cheat | Create and view interactive cheat sheets | ✓ | homebrew | apt |
exiftool | Metadata writer and reader tool | - | homebrew | apt |
eza | Modern ls replacement with colors and icons | ✓ | homebrew | apt |
fd | Simple, fast alternative to 'find' | ✓ | homebrew | apt |
ffmpeg | Audio video manipulation tool | - | homebrew | apt |
fzf | Command-line fuzzy finder | ✓ | homebrew | apt |
gh | GitHub official CLI | - | homebrew | apt |
glab | GitLab official CLI | - | homebrew | apt |
glow | Render markdown in the CLI with pizzazz | ✓ | homebrew | apt |
lazydocker | Simple terminal UI for docker commands | - | homebrew | apt |
lazygit | Simple terminal UI for git commands | - | homebrew | apt |
nmap | Network port scanning utility | - | homebrew | apt |
nvim | Hyperextensible Vim-based text editor | - | homebrew | shell |
pandoc | Universal markup converter | - | homebrew | apt |
proto | Pluggable multi-language version manager | ✓ | homebrew | shell |
ripgrep | Recursively search directories for regex patterns | ✓ | homebrew | apt |
rclone | Swiss army knife of cloud storage | - | homebrew | apt |
rsync | Fast incremental file transfer tool | ✓ | homebrew | apt |
skate | Personal key-value store | - | homebrew | shell |
sshs | Interactive SSH client | ✓ | homebrew | shell |
tldr++ | Interactive cheatsheet tool | - | homebrew | shell |
tree | Display filesystem as tree | ✓ | homebrew | apt |
ttyd | Share terminal over the web | - | homebrew | apt |
vhs | CLI home video recorder (terminal recordings) | - | homebrew | apt |
vim | Ubiquitous text editor | ✓ | homebrew | apt |
watch | Execute a program periodically | ✓ | homebrew | apt |
yq | YAML processor (like jq for YAML) | ✓ | homebrew | apt |
GitHub CLI Extensions
Extension | Description | Lite | macOS | Debian |
---|---|---|---|---|
gh-dash | GitHub dashboard in terminal | - | gh | gh |
gh-notify | GitHub notifications in terminal | - | gh | gh |
Applications (macOS only)
Application | Description | Lite | Installation |
---|---|---|---|
Brave | Privacy-focused web browser | - | homebrew cask |
Firefox | Privacy-focused web browser | - | homebrew cask |
Insomnia | HTTP and GraphQL client | - | homebrew cask |
Mattermost | Team collaboration platform | - | homebrew cask |
OpenVPN Connect | VPN client | - | homebrew cask |
VS Code | Code editor and IDE | - | homebrew cask |
DevOps Profile
The DevOps profile provides container orchestration, infrastructure as code, and cloud platform tools.
Command Line Interfaces
Package | Description | Lite | macOS | Debian |
---|---|---|---|---|
act | Run GitHub Actions locally | - | homebrew | apt |
ansible | IT automation tool | ✓ | homebrew | pip |
ansible-lint | Linter for Ansible playbooks | - | homebrew | pip |
argo | Argo Workflows CLI | - | homebrew | apt |
argocd | Argo CD CLI for GitOps | - | homebrew | apt |
aws | AWS command line interface | - | homebrew | apt |
chart-testing | Helm chart linting and testing | - | homebrew | shell |
coder | Coder remote development CLI | - | homebrew | shell |
docker | Container runtime (Debian only) | ✓ | - | shell |
helm | Kubernetes package manager | ✓ | homebrew | apt |
helm-docs | Auto-generate Helm chart documentation | ✓ | homebrew | apt |
k6 | Modern load testing tool | - | homebrew | apt |
k9s | Kubernetes TUI | - | homebrew | apt |
kind | Kubernetes in Docker | - | homebrew | apt |
krew | kubectl plugin manager | ✓ | homebrew | apt |
kubectl | Kubernetes command-line tool | ✓ | homebrew | apt |
kubectx | Kubernetes context/namespace switcher | ✓ | homebrew | apt |
mc | MinIO client for object storage | ✓ | homebrew | apt |
mkcert | Make locally trusted certificates | - | homebrew | shell |
oc | OpenShift CLI | - | homebrew | apt |
scw | Scaleway CLI | - | homebrew | apt |
sshpass | Non-interactive SSH password auth | ✓ | homebrew | apt |
teleport | Modern SSH server for clusters | - | homebrew | apt |
terraform | Infrastructure as code tool | ✓ | homebrew | apt |
velero | Kubernetes backup and migration | - | homebrew | apt |
yamllint | Linter for YAML files | - | homebrew | apt |
Applications (macOS only)
Application | Description | Lite | Installation |
---|---|---|---|
Docker Desktop | Container management GUI | ✓ | homebrew cask |
kubectl Plugins (via Krew)
Plugin | Description | Lite | Installation |
---|---|---|---|
cert-manager | cert-manager CLI (cmctl) | ✓ | krew |
cnpg | CloudNativePG operator CLI | ✓ | krew |
df-pv | Show disk usage of PersistentVolumes | ✓ | krew |
ktop | Top-like tool for Kubernetes | ✓ | krew |
neat | Clean up Kubernetes YAML output | ✓ | krew |
stern | Multi-pod log tailing | ✓ | krew |
view-secret | Decode Kubernetes secrets easily | ✓ | krew |
SecOps Profile
The SecOps profile provides security scanning, secret management, and compliance tools.
Command Line Interfaces
Package | Description | Lite | macOS | Debian |
---|---|---|---|---|
age | Simple, modern file encryption | - | homebrew | apt |
cosign | Container signing and verification | ✓ | homebrew | apt |
dive | Docker image layer explorer | - | homebrew | apt |
gitleaks | Secret scanner for git repos | - | homebrew | shell |
kubescape | Kubernetes security scanner | - | homebrew | apt |
kyverno | Kubernetes policy engine CLI | - | homebrew | apt |
sops | Encrypted file editor | - | homebrew | apt |
trivy | Vulnerability scanner | ✓ | homebrew | apt |
vault | HashiCorp Vault CLI | - | homebrew | apt |
JavaScript Profile
The JavaScript profile provides Node.js runtime and package managers.
Command Line Interfaces
Package | Description | Lite | macOS | Debian |
---|---|---|---|---|
@antfu/ni | Package manager wrapper | ✓ | npm | npm |
bun | Fast JavaScript runtime | - | proto | proto |
node | JavaScript runtime | ✓ | proto | proto |
npm | Node package manager | ✓ | proto | proto |
pnpm | Fast, disk-efficient package manager | - | proto | proto |
yarn | Package manager and project manager | - | proto | proto |
Go Profile
The Go profile provides Go language development tools and Kubernetes operator SDKs.
Command Line Interfaces
Package | Description | Lite | macOS | Debian |
---|---|---|---|---|
cobra-cli | CLI application builder | - | go | go |
go | Go programming language | ✓ | proto | proto |
kubebuilder | SDK for building Kubernetes APIs | - | homebrew | apt |
kustomize | Kubernetes YAML customization | - | homebrew | apt |
operator-sdk | Kubernetes operator SDK | - | homebrew | apt |
AI Profile
The AI profile provides tools for running large language models locally.
Applications
Application | Description | Lite | macOS | Debian |
---|---|---|---|---|
Ollama | Run LLMs locally | - | homebrew cask | shell |
Extras Profile (macOS Only)
The Extras profile provides personal productivity and media applications.
Applications
Application | Description | Lite | Installation |
---|---|---|---|
Audacity | Audio editing software | - | homebrew cask |
Discord | Voice and chat platform | - | homebrew cask |
Raspberry Pi Imager | OS image flasher | - | homebrew cask |
Soulseek | P2P file sharing | - | homebrew cask |
Transmission | BitTorrent client | - | homebrew cask |
VLC | Media player | ✓ | homebrew cask |
Installation Tips
Combining Profiles
Profiles can be mixed and matched:
# Minimal full-stack developer
./setup/setup-osx.sh -l -p 'base,js'
# DevOps with security tools
./setup/setup-osx.sh -p 'devops,secops'
# Everything except extras
./setup/setup-osx.sh -p 'base,ai,devops,go,js,secops'
Lite Mode Strategy
Use lite mode (-l
) to install only essential tools, then add specific tools manually:
./setup/setup-osx.sh -l -p 'devops,js'
brew install <additional-tool>
Package Sources
- homebrew - macOS package manager
- apt - Debian package manager (with WakeMeOps repo)
- shell - Shell script installation
- proto - Proto version manager
- npm - Node package manager
- pip - Python package manager
- go - Go package manager
- gh - GitHub CLI extension
- krew - kubectl plugin manager