Skip to main content

Apps & Package Manager

🟠 Alpha

The nanx apps command provides a unified interface for managing packages across different package managers (Homebrew, apt, GitHub releases, etc.).

Quick Start

# List installed apps
nanx apps list

# Install an app
nanx apps install jq

# Search for apps
nanx apps search ripgrep

# Update all apps
nanx apps update

# Uninstall an app
nanx apps uninstall jq

Subcommands

list

List all installed apps managed by nanx:

nanx apps list

Shows apps installed via configured providers (homebrew, apt, github, etc.)

install

Install one or more apps:

nanx apps install <app_name> [<app_name2> ...]

Examples:

# Install single app
nanx apps install jq

# Install multiple apps
nanx apps install jq ripgrep fzf

# Install from specific provider
nanx apps install --provider homebrew jq

update

Update all or specific apps:

# Update all apps
nanx apps update

# Update specific apps
nanx apps update jq ripgrep

uninstall

Remove installed apps:

nanx apps uninstall <app_name> [<app_name2> ...]

search

Search for available apps across configured providers:

nanx apps search <query>

Example:

nanx apps search rust
# Shows: rustc, rust-analyzer, cargo, etc.

Configuration

Configure apps providers in your config.yaml:

apps:
  provider: homebrew           # Primary provider
  fallback_provider: github    # Fallback if primary fails
  auto_install_essential: true # Auto-install essential tools

Supported Providers

Provider Platforms Notes
homebrew macOS, Linux Default on macOS
apt Debian, Ubuntu Requires sudo
github All platforms Downloads releases from GitHub
auto All platforms Auto-detect based on OS

Command Options

Option Description Default
--provider <name> Use specific provider From config or auto-detect
--yes, -y Skip confirmation prompts false
--force, -f Force reinstall/overwrite false

Essential Apps

When auto_install_essential is enabled, nanx can automatically install essential development tools on first run:

  • git - Version control
  • jq - JSON processor
  • curl - HTTP client
  • ripgrep - Fast search tool

Examples

Basic Workflow

# Search for an app
nanx apps search fzf

# Install it
nanx apps install fzf

# List installed apps
nanx apps list

# Update everything
nanx apps update

Multi-Provider Setup

# Use homebrew as primary, github as fallback
apps:
  provider: homebrew
  fallback_provider: github
  auto_install_essential: true

Troubleshooting

Provider Not Found

If nanx can't detect your package manager:

# Explicitly set provider in config
apps:
  provider: homebrew  # or apt, github, etc.

Permission Errors

Some providers (like apt) require sudo privileges:

# apt commands will prompt for sudo
nanx apps install jq

GitHub Rate Limits

When using the GitHub provider, you may hit rate limits. Set a GitHub token:

export GITHUB_TOKEN=your_token_here

Next Steps