Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/pg83/ix/llms.txt

Use this file to discover all available pages before exploring further.

IX is a source-based, content-addressed package manager and build system at the heart of the stal/IX Linux distribution. Every package is built from source using Jinja2 recipe templates, stored at an immutable content-addressed path under /ix/store/, and composed into named environments called realms. IX enforces hermetic builds — no host environment leaks in, and every output is reproducible by hash.

Quickstart

Build your first package and set up a realm in minutes

Installation

Get IX running on Linux or Darwin

CLI Reference

Every subcommand, flag, and exit code documented

Package Development

Write your first IX package recipe from scratch

Why IX?

IX pushes against the mainstream Linux distribution model. Instead of dynamic linking, runtime plugins, and host-environment assumptions, IX chooses:

Content-Addressed Store

Every build output lives at /ix/store/<hash>-<pkg>. Identical inputs always produce identical paths.

Hermetic Builds

Build steps run in isolation. No host compiler, header, or library can leak into a package.

Static Linking

Packages are statically linked by default, eliminating shared-library ABI fragility at runtime.

Realms

Compose named environments from store entries. Switch between them by redirecting a single symlink.

Template Recipes

Packages are Jinja2 templates that inherit from a build-system hierarchy — CMake, Meson, Cargo, Go, and more.

Cross-Compilation

Build artifacts targeting other OS/ABI combinations without emulation.

Get Started

1

Clone the repository

IX is distributed as a source repository. Clone it and use the ./ix wrapper directly.
git clone https://github.com/pg83/ix.git
cd ix
2

Build a package

Build any package from the package set into an ephemeral realm.
./ix build bin/b64
3

Install into a realm

Use mut to install a package into your personal realm (named after your username by default).
./ix mut bin/zstd
4

Add the realm to your PATH

Activate a realm by adding it to your shell environment.
export PATH="/ix/realm/$(whoami)/bin:${PATH}"
IX is an active engineering project, not a polished consumer OS distribution. Expect toolchain transitions, experiments, and non-mainstream design decisions — by intent.

Build docs developers (and LLMs) love