Introduction

Eiipm is a fast and eligant package manager made in rust for Ewwii. Eiipm uses the package metadata from the Ewwii-sh/eii-manifests repository where the manifests of packages are stored.

Installation

You can install eiipm using the same methods we discussed of in Ewwii:

1. From source

git clone https://github.com/Ewwii-sh/eiipm
cd eiipm
cargo build --release

This will generate the eiipm binary in target/release.

2. Using Cargo

cargo install --git https://github.com/Ewwii-sh/eiipm

After installation, verify it works:

eiipm --version

Adding eiipm to path

This is a very important step which people are likely to miss. By default, eiipm installs binaries to ~/.eiipm/bin directory. But your shell doesn't know about it yet.

So, when you run something like bin-you-installed after installing a binary from eiipm, your shell will go like "Oh, let me check in all the known areas. Nope, bin-you-installed is not installed..."

So, you should add export PATH="$HOME/.eiipm/bin:$PATH" to your shell's configuration file.

Here is an example on how to do it:

# Replace ~/.zshrc with your shell's configuration file.
# For example, if you use bash, then it would be ~/.bashrc
echo 'export PATH="$HOME/.eiipm/bin:$PATH"' >> ~/.zshrc

I use zsh, so I added the line export PATH="$HOME/.eiipm/bin:$PATH" in ~/.zshrc but if you use something else, you should replace the ~/.zshrc with your own shell's confiuration file.

For example, if you use bash, add that line in ~/.bashrc.

NOTE: If you dont want to use echo to add it, then you can manually edit your configuration file and add the line export PATH="$HOME/.eiipm/bin:$PATH" in there.

Commands

Eiipm offers many commands which users can use to manage ewwii and its packages.

Overview

Here is a simple overview before we get started.

CommandAliasesFlags / Options
install <PACKAGE>i--debug
uninstall <PACKAGE>rm--debug
update [PACKAGE]up--debug
listl-v, -t, -q <NAME>, --debug
helpNoneNone
-V, --versionNoneNone

Flags for list:

  • -v, --verbose: verbose output
  • -t, --total-count: output just total package count
  • -q, --query <NAME>: query a package (works with --verbose)
  • --debug: debug logs

Install

Command

Install a package

eiipm install <PACKAGE>
# or shorter:
eiipm i <PACKAGE>

Description

Downloads, builds (if needed), and installs the given package.

Options

--debug: Show debug logs.

Examples

eiipm install statictranspl
eiipm i ewwii

Uninstall

Command

Uninstall a package

eiipm uninstall <PACKAGE>
# or shorter:
eiipm rm <PACKAGE>

Description

Removes the package and its tracked files from your system.

Options

--debug: Show debug logs.

Examples

eiipm rm statictranspl

Update

Command

Update a package or all packages

eiipm update [PACKAGE]
# or shorter:
eiipm up [PACKAGE]

Description

  • If PACKAGE is given, then it updates that package.
  • If no package is given, then it updates all installed packages.

Options

--debug: Show debug logs.

Examples

eiipm up # update all
eiipm up statictranspl  # update just one package

Check Updates

Command

Check for updates in a package or all packages

eiipm check-update [PACKAGE]
# or shorter:
eiipm cu [PACKAGE]

Description

  • If PACKAGE is given, then it checks for updates in that package.
  • If no package is given, then it checks for updates in all installed packages.

Options

--debug: Show debug logs.

Examples

eiipm cu # check all
eiipm check-updates statictranspl  # check just one package

List

Command

List installed packages

eiipm list [OPTIONS]
# or shorter:
eiipm l [OPTIONS]

Description

Shows installed packages. Can display just names, detailed info, total count, or a specific package.

Options

  • -v, --verbose: Show detailed info for each package.
  • -t, --total-count: Show only the total number of installed packages.
  • -q, --query <NAME>: Show info for a single package (works with --verbose as well).
  • --debug: Show debug logs.

Examples

eiipm l
eiipm l --verbose
eiipm l --total-count
eiipm l --query statictranspl
eiipm l -q statictranspl -v

Clear Cache

Command

Clear package cache with confirmation.

eiipm clear-cache [PACKAGE]
# or shorter:
eiipm cc [PACKAGE]

Description

  • If PACKAGE is given, then it clears the cache of that package with confirmation.
  • If no package is given, then it clears cache of all installed packages with confirmation.

Options

--force: Bypass confirmation. --debug: Show debug logs.

Examples

eiipm cc # clear all
eiipm clear-cache statictranspl  # clear just one package cache

eiipm cc --force # bypasses confirmation

Tips & Tricks

Here are some tips and tricks which you can use to make your experience with eiipm better.

Confirm all confirmation requests

As you may know, eiipm sometimes require user confirmation to perform certain tasks. One of the examples where eiipm asks for confirmation is in the update task when it cant resolve merge.

You can pipe the yes command to answer "y" to all eiipm commands.

Example:

yes | eiipm update

Publishing Your Package

Created a package for Ewwii and want it to be easily installable via eiipm? That’s fantastic! By publishing your package to eii-manifests, you make it instantly accessible to the entire Ewwii community, letting users install it with a single command.

Eiipm pulls all package metadata directly from eii-manifests, so the first step is to register your package there. This ensures that your package is correctly tracked, built, and installed for everyone. Once registered, users can seamlessly download, build (if necessary), and use your package without worrying about paths, dependencies, or manual setup.

Check out the Adding Your Package to Manifests guide for a detailed, step-by-step walkthrough. Following the guide will help you structure your package correctly, define its metadata, and make sure it installs smoothly for all users.

Publishing isn’t just about sharing code. It’s about contributing to a growing ecosystem. So take the leap, add your package, and become a part of the Ewwii community!

Examples

Installing ewwii binary directly:

# installing
eiipm install ewwii

# update
eiipm update ewwii

# uninstall
eiipm uninstall ewwii

Installing statictranspl binary:

# installing statictranspl
eiipm i statictranspl

# one year later
eiipm up statictranspl # update statictranspl to latest version

# five years later
eiipm rm statictranspl # uninstall statictranspl