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 · Luban

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

Luban

A whole Linux userland in one command, rootless — then boot it as a machine. Luban is the OS model on xlings: environments made from editions, rolled back by generation, exported as images, shown in the Luban OS window with their desktop. Quick start · The desktop

luban new box --edition tiny        # an environment: a Linux userland, no root needed
luban enter box --mode machine --temp   # boot it with its own kernel in a local VM
luban export box box.iso  # a bootable ISO: BIOS and UEFI, x86_64 and aarch64
luban new desk --edition desktop    # a desktop; luban-os shows it in a window

Documentation

Topic Docs
Start What xlings is · Getting started · Scenarios · Commands by scenario
Use Packages and versions · Projects · Indexes and mirrors · Self-management
SubOS SubOS · Sandbox and policy · Roots and generations · macOS and Windows
Extend Authoring a package · Hosting an index · SubOS templates
Contracts Agents and the machine interface · Supported platforms · Specifications · Commands
Luban Luban OS — environments, editions, images and machines on xlings
xlings itself Build from source · Architecture · Release

All of it: docs/.

Ecosystem and community

  • MCPP — modern C++ toolchain, distributed through xlings
  • xim-pkgindex — the official package index
  • Luban — the OS model on xlings: environments, editions, bootable images
  • 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