Skip to content
openxlingsPublic

About

Universal package infrastructure with OS-like SubOS isolation - Multi-version · Rootless · Decentralized Index · Agent-ready.

Topics

Resources

Stars

615 stars

Watchers

3 watching

Forks

Repository files navigation

xlings

Universal package infrastructure with OS-like SubOS isolation.
Multi-version · Rootless · Decentralized Index · Agent-ready.

Website | Docs | Package Index | Forum

中文 | English

Used by: MCPP · upcoming Luban Linux

One tool to install any version of anything, run it without root, and isolate it like an OS of its own — on Linux, macOS and Windows.

Quick Start

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.ps1 | iex
xlings install gcc@16 node@24 cmake   # install (version optional)
xlings use gcc@16                      # switch the active version
xlings search python                   # search packages
xlings list                            # what is installed

Using an AI agent? Tell it to run xlings agent usage — a complete guide written for agents ships with xlings.

What it does

Area What you get
Packages binaries, scripts, configs, SubOS bases — all one format (xpkg), from official, third-party or self-hosted indexes
Versions any number side by side; N environments share one copy of each payload
SubOS named environments: their own tools, home and policy — from a PATH switch to a rootless sandbox with a private network
Agents xlings subos exec, exit codes that mean something, XLINGS_AGENT_MODE=1, and an NDJSON interface (xlings interface)
Repair xlings self doctor --fix checks its own state and repairs it in one run

Scenarios

Several toolchains, no conflicts — guide

xlings install gcc@16 gcc@11 node@24
xlings use gcc@11        # switch back any time; both stay installed

One environment for the whole team — guide

{ "workspace": { "xmake": "3.0.7", "gcc": { "linux": "16.1.0" }, "llvm": { "macosx": "20.1.7" } } }
cd my-project/ && xlings install     # the project's own SubOS, the declared versions

Agents and untrusted code in a sandbox — guide

xlings subos new agent-ws --sandbox=private      # isolation is declared once, here
xlings subos exec agent-ws -- python run.py      # every entry is that sandbox; its own exit code
xlings subos use agent-ws                        # or a shell inside -- no flag needed
Platform Release --sandbox isolates
Linux x86_64 / aarch64 ✅ filesystem, processes, network, identity (bwrap; on aarch64, once a bwrap is available for it)
macOS 14+ arm64 ✅ only $HOME
Windows x86_64 ✅ only %USERPROFILE%

On macOS and Windows --sandbox is not a security boundary: use an OS sandbox or a VM for code you do not trust. xlings subos status <name> shows what a SubOS asks for and what this machine gives it.

Upgrade and repair — guide

xlings self update
xlings self doctor --fix

Documentation

Topic Docs
Guides Multi-version · Project env · SubOS & Agent · Custom index · Self-management · Build from source
Design Architecture · SubOS isolation · SubOS-as-XPKG · xvm versioning · Index ecosystem · Interface protocol
Spec xpkg manifest v1 · .xlings.json schema · Interface NDJSON v1 · Commands
Compare xlings vs apt / nix / docker

Ecosystem and community

  • MCPP — modern C++ toolchain, distributed through xlings
  • xim-pkgindex — the official package index
  • Luban Linux — upcoming distribution using xlings as its system package manager
  • Forum · QQ 167535744 / 1006282943 · Issues
  • Contributing: issues · packages · docs

Star History Chart

About

Universal package infrastructure with OS-like SubOS isolation - Multi-version · Rootless · Decentralized Index · Agent-ready.

Topics

Resources

Stars

615 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages