1install is a high-performance, unified package meta-orchestrator. It provides a single, consistent interface for searching, installing, updating, and managing software across multiple package managers and ecosystems.
Get up and running in seconds. Choose the one-liner for your OS:
curl -fsSL https://raw.githubusercontent.com/loganbek/1install/main/install.sh | shiwr -useb https://raw.githubusercontent.com/loganbek/1install/main/install.ps1 | iex- 🔍 Unified Federated Search: Search across
apt,winget,brew,npm,pip,snap,flatpak, and more—simultaneously. - 🛡️ Integrity Verification: Automated SHA-256 hash checking for secure installations.
- 🔄 Transactional Rollbacks: If an installation fails, 1install rolls back changes to keep your system clean.
- 🚀 Shim Engine: Instant binary availability without shell restarts or PATH tinkering.
- 📦 Multi-Backend Support:
- System:
apt,pacman,dnf,winget,brew - Universal:
snap,flatpak - Language:
npm,pip,cargo,go - Source: Directly install from
gitrepositories.
- System:
1i search ripgrep1i install jq
1i install node --backend npm1i install ripgrep --verify <SHA256_HASH>1i update 1i
1i uninstall git1i doctor # Detect conflicts and broken shims1install is built in Rust for maximum speed and safety. It uses the Adapter Pattern to wrap existing package managers, providing a normalized data model and transactional execution.
For detailed architectural specs, see the docs/ directory.
If 1install has saved you time and improved your workflow, consider supporting its future development! Your contributions help recoup server costs and maintenance time.
- PayPal: Donate via PayPal (logan@bekconsulting.info)
- Ethereum (ETH):
loganbek.eth
To help us prioritize features and understand our impact, 1install includes anonymized, privacy-first telemetry. We track:
- Total number of active users (anonymized UUID)
- Command success/failure rates
- Backend performance metrics
Telemetry is Opt-Out. If you prefer not to share this data, you can disable it with:
1i config set telemetry.enabled false- Logan Bek
- Antigravity (AI Co-Author)
- Claude Opus (Architectural Planning)
Distributed under the MIT License. See LICENSE for more information.
- The one-line bootstrap installer (
scripts/install.sh) installs the1ibinary into the invoking user's~/.local/bindirectory and will add that directory to the user's shell config if needed. It also handles being run undersudo(it targets the original user viaSUDO_USER). - For developer convenience, the installer will detect a locally-built
1ibinary at./target/release/1ior./target/debug/1iand copy it into~/.local/binso the one-liner can be used during development.
If you want to reproduce the developer flow locally, build with cargo build and then run the bootstrap script:
cargo build --release # optional
bash scripts/install.shThese changes aim to keep the oneliner experience simple and reliable: the installer will place the binary where common user-local binaries live and try not to require a manual PATH edit.
Once 1i is installed and on your PATH, installing common developer tooling is as easy as:
# Install Node.js (uses the appropriate backend for your OS)
1i install node
# Install npm (language-level package manager)
1i install npm
# Install pip (Python package installer)
1i install pipNotes:
- Backend selection is automatic where possible; use
--backendto force a specific backend (for example--backend apton Debian/Ubuntu). - If a tool is provided by multiple backends,
1iwill prefer the system-configured priority or the most appropriate backend for your OS.
To run the unit and integration tests locally:
cargo test
scripts/tests/run_integration_tests.shIf you want to test the oneliner against a locally-built 1i, build and then run the installer which will pick up the local binary:
cargo build --release
bash scripts/install.shWe plan to introduce rich, colorized, and per-backend output styling (tables, icons, and contextual colors) in a future release. The codebase already contains a basic table renderer for search results; upcoming work will centralize styling and provide a runtime feature flag to enable/disable color for CI environments.