# Zoi **Repository Path**: iloverust/Zoi ## Basic Information - **Project Name**: Zoi - **Description**: 跨平台包管理器 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-09-25 - **Last Updated**: 2025-10-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## 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
Code of ConductPackagingRelease Guidelines



Table of Contents - [Features](#-features) - [Getting Started](#-getting-started) - [Installation](#-installation) - [Package Managers](#package-managers) - [Scripts](#-scripts) - [Linux](#linux) - [Arch Linux (AUR)](#arch-linux-aur) - [Fedora](#fedora) - [macOS](#macos) - [Homebrew](#homebrew) - [Windows](#windows) - [Scoop](#scoop) - [Crates.io](#cratesio) - [NPM](#npm) - [Build from Source](#%EF%B8%8F-build-from-source) - [Platforms](#-platforms) - [Dependencies Support](#-dependencies-support) - [Usage](#-usage) - [Packaging Status](#-packaging-status) - [Repositories & Mirrors](#-repositories-mirrors) - [Contributing](#-contributing) - [License](#-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. - **Dynamic Package Definitions:** Define packages with dynamic Lua scripts (`.pkg.lua`) for maximum flexibility. - **Universal Package Support:** Install from binaries, compressed archives, source, or installer scripts. - **Extensive Dependency Management:** Integrates with over 40 package managers (`apt`, `brew`, `cargo`, `npm`, `pip`, etc.). - **Rich Dependencies:** Define runtime and build dependencies with required, optional, and selectable options. - **Project Environments:** Manage project-specific commands and environments with `zoi.yaml`. - **Repository-Based:** Use official, community, or your own private/public Git-based repositories. - **Secure & Verifiable:** Verifies package integrity and authenticity with checksums and GPG signatures. Manage keys with `zoi pgp`. - **Versatile Package Types:** Supports standard packages, collections, services, configs, app templates, extensions, libraries, and inline scripts. - **Local Package Development:** A dedicated `zoi package` command set (`meta`, `build`, `install`) to streamline creating and testing packages locally. - **Advanced CLI Tools:** - `zoi man`: Read package manuals in the terminal. - `zoi why`: Understand why a package is installed. - `zoi rollback`: Revert a package to its previous version. - `zoi pin`: Pin a package to a specific version. - `zoi exec`: Run a package without installing it. - **Library Support:** Use as a Rust library and get compiler/linker flags via `zoi pkg-config`. ## 🚀 Getting Started Getting started with Zoi is simple. Just follow these three steps: 1. **Install Zoi:** Choose one of the [installation methods](#-installation) below. 2. **Sync Repositories:** Before you can install packages, you need to sync the package repositories. ```sh zoi sync ``` 3. **Install a Package:** Now you can install any package you want. For example, to install `hello`: ```sh zoi install hello ``` ## 📦 Installation You can install Zoi using a package manager, an installer script, or by building it from source. ### 📜 Scripts You can also use our installer scripts for a quick setup. **Linux / macOS :** ```sh curl -fsSL https://zillowe.pages.dev/scripts/zoi/install.sh | bash ``` **Windows:** ```powershell powershell -c "irm zillowe.pages.dev/scripts/zoi/install.ps1|iex" ``` ### Package Managers #### Linux Install Zoi on Linux distros. ##### Arch Linux (AUR) Install [`zoi-bin`](https://aur.archlinux.org/packages/zoi-bin) (Pre-compiled binary) or [`zoi`](https://aur.archlinux.org/packages/zoi) (built from source) from the AUR using your favorite helper (e.g. `yay`, `paru`): ```sh yay -S zoi-bin ``` Or manually without any helpers: ```sh git clone https://aur.archlinux.org/zoi-bin.git cd zoi-bin makepkg -si ``` ##### Fedora Install `zoi-rs` on Fedora from [Terra](https://terra.fyralabs.com) repo (not maintained by us, uses [Crates.io](#cratesio) so may not be up-to-date): ```sh # add terra repo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release # install Zoi sudo dnf install zoi-rs ``` More information and instructions for using Terra are available [here](https://developer.fyralabs.com/terra/installing). #### macOS Install Zoi on macOS. ##### Homebrew Install Zoi using Homebrew (Also supports linux): ```sh brew install Zillowe/tap/zoi ``` #### Windows Install Zoi on Windows. ##### Scoop Install Zoi using Scoop: ```powershell scoop bucket add zillowe https://github.com/Zillowe/scoop.git scoop install zoi ``` #### Crates.io You can install `zoi` directly from [crates.io](https://crates.io/crates/zoi-rs) using `cargo`: ```sh cargo install zoi-rs ``` #### NPM You can install `@zillowe/zoi` from `npm` also. ```sh npx @zillowe/zoi bunx @zillowe/zoi pnpm dlx @zillowe/zoi yarn dlx @zillowe/zoi ``` ### 🛠️ Build from Source If you prefer, you can build Zoi from source. You'll need [Rust](https://www.rust-lang.org) installed. **Build the release binary:** ```sh # For Linux/macOS ./scripts/build-release.sh # For Windows ./scripts/build-release.ps1 ``` **Install it locally:** ```sh ./configure make build sudo make install # (optional) Install CLI completions and setup Zoi's PATH make setup ``` ## 💻 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](https://zillowe.qzz.io/docs/zds/zoi/dependencies) 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:** ```sh zoi install ``` - **Uninstall a package:** ```sh zoi uninstall ``` - **Install from a specific repository:** ```sh zoi install @/ ``` - **List all available packages from active repos:** ```sh zoi list --all ``` - **List packages from a specific repo:** ```sh zoi list --all --repo ``` - **Search for a package:** ```sh zoi search ``` - **Search for a package from a specific repo:** ```sh zoi search @ ``` - **Add a new repository:** ```sh # Interactively zoi repo add # By name zoi repo add # From a git repo zoi repo add https://github.com//.git ``` - **Update Zoi to the latest version:** ```sh zoi upgrade ``` For more detailed information, please refer to the [Docs](https://zillowe.qzz.io/docs/zds/zoi). ## 📦 Packaging Status [![Packaging status](https://repology.org/badge/vertical-allrepos/zoi.svg)](https://repology.org/project/zoi/versions) ## 🤝 Contributing We welcome contributions from the community! If you'd like to contribute, please read our [Contributing Guidelines](./CONTRIBUTING.md) 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: - Zoi Source Code (this repo) - Primary: [GitLab](https://gitlab.com/Zillowe/Zillwen/Zusty/Zoi) - Mirrors: [GitHub](https://github.com/Zillowe/Zoi), [Codeberg](https://codeberg.org/Zillowe/Zoi) - Packages Database (Zoidberg) - Primary: [GitLab](https://gitlab.com/Zillowe/Zillwen/Zusty/Zoidberg) - Mirrors: [GitHub](https://github.com/Zillowe/Zoidberg), [Codeberg](https://codeberg.org/Zillowe/Zoidberg) ### Repository tiers Repository tiers for [Zoidberg](https://gitlab.com/Zillowe/Zillwen/Zusty/Zoidberg), Zoi's official packages repo. - 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. - Zillowe: Zillowe's own official packages. For details and CLI usage examples, see the docs page: [Repositories](https://zillowe.qzz.io/docs/zds/zoi/repositories). ## 📜 License Zoi is licensed under the [Apache 2.0 License](./LICENSE).

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