zoi-rs

Crates.iozoi-rs
lib.rszoi-rs
version4.3.7-beta
created_at2025-08-13 03:01:10.80711+00
updated_at2025-08-20 06:30:41.726024+00
descriptionUniversal Package Manager & Environment Setup Tool
homepagehttps://zillowe.rf.gd/zds/zoi/
repositoryhttps://gitlab.com/Zillowe/Zillwen/Zusty/Zoi
max_upload_size
id1793196
size523,427
Zaid (ZilloweZ)

documentation

https://zillowe.rf.gd/docs/zds/zoi/

README

ZDS Logo

Zoi

Universal Package Manager & Environment Setup Tool


GitLab Latest Release GitLab Pipeline Status
AUR Version Homebrew Version Scoop Version
Crates.io Version

DocsDiscordSecurityContributingChangelog
Report a BugRequest a FeatureRequest an Enhancement



Table of Contents

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.
  • Rich Dependencies: Packages can define runtime and build dependencies with required, optional, and selectable options groups.
  • 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, configuration packages, extensions, libraries, and app templates.
  • Secure Package Distribution: Support for checksums and GPG signatures to verify package integrity and authenticity.
  • Tag-based Discovery: Search by and filter packages using tags for faster discovery.
  • Use as a Library: Integrate Zoi's package management features directly into your Rust applications. See the Library documentation for details.
  • Package Recording & Re-installation: Automatically keeps a record of all installed packages, which can be used to easily reinstall them on a new machine.

🚀 Getting Started

Getting started with Zoi is simple. Just follow these three steps:

  1. Install Zoi: Choose one of the installation methods below.

  2. Sync Repositories: Before you can install packages, you need to sync the package repositories.

    zoi sync
    
  3. Install a Package: Now you can install any package you want. For example, to install hello:

    zoi 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):

yay -S zoi-bin

Or manually without any helpers:

git clone https://aur.archlinux.org/zoi-bin.git
cd zoi-bin
makepkg -si

macOS (Homebrew)

Install Zoi using Homebrew:

brew install Zillowe/tap/zoi

Windows (Scoop)

Install Zoi using Scoop:

scoop bucket add zillowe https://github.com/Zillowe/scoop.git
scoop install zoi

Crates.io

You can install zoi directly from crates.io using cargo:

cargo install zoi-rs

NPM

You can install @zillowe/zoi from npm also.

npx @zillowe/zoi
bunx @zillowe/zoi
pnpm dlx @zillowe/zoi
yarn dlx @zillowe/zoi

📜 Scripts

You can also use our installer scripts for a quick setup.

Linux / macOS :

curl -fsSL https://gitlab.com/Zillowe/Zillwen/Zusty/Zoi/-/raw/main/app/install.sh | bash

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
./build/build-release.sh

# For Windows
./build/build-release.ps1

Install it locally:

./configure
make
sudo make install
# Install CLI completions (bash, zsh, fish, elvish, powershell)
make install-completion

💻 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
script Script execution script:website.com/install
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
brew macOS (Homebrew) brew:node
scoop Windows scoop: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
bun Bun bun:elysia
deno Deno deno:npm-chalk or deno:jsr-@std/bytes (the - instead of : is important)
jsr JavaScript Registry jsr:@std/http
pip Python pip:requests
nix NixOS / Nix nix:nixpkgs.hello

And many more.

For more dependencies and information please visit the Dependencies Page on Docs.

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:

    zoi install <package_name>
    
  • Uninstall a package:

    zoi uninstall <package_name>
    
  • Install from a specific repository:

    zoi install @<repo_name>/<package_name>
    
  • List all available packages from active repos:

    zoi list --all
    
  • List packages from a specific repo:

    zoi list --all --repo <repo_name>
    
  • Search for a package:

    zoi search <term>
    
  • Search for a package from a specific repo:

    zoi search <term> @<repo_name>
    
  • Add a new repository:

    # Interactively
    zoi repo add
    
    # By name
    zoi repo add <repo_name>
    # From a git repo
    zoi repo add https://github.com/<user_name>/<repo_name>.git
    
  • Update Zoi to the latest version:

    zoi upgrade
    

For more detailed information, please refer to the Docs.

📦 Packaging Status

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.

📚 Repositories & Mirrors

Zoi is hosted on multiple forges. The primary locations and mirrors are:

Repository tiers

  • Core: Essential packages, libraries and very common/maintained packages.
  • Main: Packages that don't fit in Core but are essential for most people.
  • Extra: Packages that are new, not very common or maintained, not preferable.
  • Community: User submitted packages that are new, can be upgraded to a higher repo.
  • Test: Testing repo for new Zoi features and for new packages before release.
  • Archive: Archived packages that are no longer maintained.

For details and CLI usage examples, see the docs page: Repositories.

📜 License

Zoi is licensed under the Apache 2.0 License.


Zoi is developed by Zusty < Zillowe Foundation
Part of the Zillowe Development Suite (ZDS)

Commit count: 0

cargo fmt