- Features
- Getting Started
- Installation
- Platforms
- Dependencies Support
- Usage
- Packaging Status
- Mirrors
- Contributing
- License
Zoi is a universal package manager and environment setup tool, designed to simplify package management and environment configuration across multiple operating systems.
✨ Features
- Cross-Platform: Works seamlessly on Linux, macOS, and Windows.
- Universal Package Support: Install packages from various sources: binaries, compressed archives, build from source, or installer scripts.
- Extensive Dependency Management: Integrates with over 30+ package managers (
apt,brew,cargo,npm,pip,scoop, etc.) to handle dependencies. - Optional Dependencies: Packages can define optional dependencies for extra features, which users can select during installation.
- Project Environments: Easily define and manage project-specific environments and commands using
zoi.yaml. - Repository-Based: Manage packages from official or community repositories. Easily add your own.
- Intuitive CLI: A simple and powerful command-line interface with helpful aliases for a better developer experience.
- Package Types: Supports standard packages, meta-packages (collections), background services, and configuration file management.
- Secure Package Distribution: Support for checksums and GPG signatures to verify package integrity and authenticity.
🚀 Getting Started
Getting started with Zoi is simple. Just follow these three steps:
-
Install Zoi: Choose one of the installation methods below.
-
Sync Repositories: Before you can install packages, you need to sync the package repositories.
-
Install a Package: Now you can install any package you want. For example, to install
hello:
📦 Installation
You can install Zoi using a package manager, an installer script, or by building it from source.
Package Managers
Arch Linux (AUR)
Install zoi-bin (Pre-compiled binary) or zoi (built from source) from the AUR using your favorite helper (e.g. yay, paru):
Or manually without any helpers:
macOS (Homebrew)
Install Zoi using Homebrew:
Windows (Scoop)
Install Zoi using Scoop:
scoop bucket add zillowe https://github.com/Zillowe/scoop.git
scoop install zoi
From Crates.io
You can install zoi-cli directly from crates.io using cargo:
From NPM
You can install @zillowe/zoi from npm also.
📜 Scripts
You can also use our installer scripts for a quick setup.
Linux / macOS :
|
Windows:
powershell -c "irm gitlab.com/Zillowe/Zillwen/Zusty/Zoi/-/raw/main/app/install.ps1|iex"
🛠️ Build from Source
If you prefer, you can build Zoi from source. You'll need Rust installed.
Build the release binary:
# For Linux/macOS
# For Windows
Install it locally:
# Install CLI completions (bash, zsh, fist, elvish, powershell)
💻 Platforms
What platforms we currently support.
| OS | Arch | Zoi Binary | Packages Support |
|---|---|---|---|
| Linux | amd64 | ✔️ | ✔️ |
| Linux | arm64 | ✔️ | ✔️ |
| macOS | arm64 | ✔️ | ✔️ |
| macOS | amd64 | ✔️ | ✔️ |
| Windows | amd64 | ✔️ | ✔️ |
| Windows | arm64 | ❌ | ✔️ |
| FreeBSD | amd64 | ❌ | ✔️ |
| FreeBSD | arm64 | ❌ | ✔️ |
| OpenBSD | amd64 | ❌ | ✔️ |
| OpenBSD | arm64 | ❌ | ✔️ |
We're planning to add support for more platforms.
🔗 Dependencies Support
What dependency installation we support.
| Manager | Ecosystem / OS | Example |
|---|---|---|
zoi |
Zoi | zoi:my-other-package |
native |
System's native package manager | native:openssl |
apt, apt-get |
Debian, Ubuntu, etc. | apt:libssl-dev |
pacman |
Arch Linux | pacman:base-devel |
yay, paru |
Arch Linux (AUR) | yay:google-chrome |
aur |
Arch Linux (AUR) | aur:visual-studio-code-bin |
dnf, yum |
Fedora, CentOS, RHEL | dnf:openssl-devel |
zypper |
openSUSE | zypper:libopenssl-devel |
apk |
Alpine Linux | apk:git |
portage |
Gentoo | portage:dev-libs/openssl |
brew |
macOS (Homebrew) | brew:node |
macports |
macOS (MacPorts) | macports:git |
scoop |
Windows | scoop:git |
choco |
Windows (Chocolatey) | choco:git |
winget |
Windows | winget:Git.Git |
snap |
Linux (Snapcraft) | snap:node |
flatpak |
Linux (Flathub) | flatpak:org.gimp.GIMP |
pkg |
FreeBSD | pkg:git |
pkg_add |
OpenBSD | pkg_add:git |
cargo |
Rust | cargo:ripgrep |
cargo-binstall |
Rust (pre-compiled binaries) | cargo-binstall:ripgrep |
go |
Go | go:golang.org/x/tools/cmd/goimports |
npm |
Node.js | npm:typescript |
yarn |
Node.js | yarn:react |
pnpm |
Node.js | pnpm:vite |
bun |
Bun | bun:elysia |
deno |
Deno | deno:npm:chalk or deno:jsr:@std/bytes |
jsr |
JavaScript Registry | jsr:@std/http |
pip |
Python | pip:requests |
pipx |
Python | pipx:black |
conda |
Conda | conda:numpy |
gem |
Ruby | gem:rails |
composer |
PHP | composer:laravel/installer |
dotnet |
.NET | dotnet:csharp-ls |
nix |
NixOS / Nix | nix:nixpkgs.hello |
Some of the package manager are OS specific, so when a dependency is in that package manager it only installs it for that OS.
But some other package managers like npm, it installs the dependency if the package manager is available.
💡 Usage
Here are some common commands to get you started.
-
Install a package:
-
Uninstall a package:
-
Install from a specific repository:
-
List all available packages from active repos:
-
List packages from a specific repo:
-
Search for a package:
-
Search for a package from a specific repo:
-
Add a new repository:
# Interactively # By name # From a git repo -
Update Zoi to the latest version:
For more detailed information, please refer to the Docs.
📦 Packaging Status
🤝 Contributing
We welcome contributions from the community! If you'd like to contribute, please read our Contributing Guidelines for more information.
New features, enhancements and bug reports are welcome.
🪞 Mirrors
Zoi host it's main repo [this] and packages database repo on:
Main Repo:
Packages Repo:
📜 License
Zoi is licensed under the Apache-2.0 License.