Pantry Integration
On this page 8
Overview
Home uses Pantryfor system-level package management. Pantry is keptseparate from the Home language itself to maintain clean separation of concerns.
Files
pantry.json- Declares Home's system dependencies (e.g., Zig compiler)pantry-lock.json- Lockfile for reproducible builds
Usage
System Packages
Use pantry directly (not through Home):
pantry install nodejs.org
pantry list
pantry search python
pantry update
Shell Integration
Pantry integrates with your shell for automatic environment activation on cd:
# Handled by pantry's zshrc integration
cd ~/Code/my-project # Automatically activates environment
Why Separate
Home is a programming language, not a system management tool.
Pantry is a system package manager, handling:
- System dependencies (Node.js, Python, etc.)
- Development environments
- Shell integration for
cdhooks
Keeping them separate means:
- ✅ Home stays focused as a language compiler/interpreter
- ✅ Pantry handles system concerns independently
- ✅ No bloat in the language tooling
- ✅ Clean architecture for home-os future
For Home Development
The Pantry lockfile pins what Home itself needs to build: Zig 0.17 dev, installed through Pantry.
For Home-OS
When building the OS, this separation becomes even more important - the OS will have its own package management layer, and Home remains just the programming language.