Skip to content

Quick Start

Nebi lets you version your software environments the same way git versions your code, and Nebi server lets you share and manage these versioned environments in your team. In this guide, you will create a workspace, push two versions, compare what changed, and roll back to a working state.

Before you can version or share an environment, Nebi needs to track it. nebi init creates a workspace in the current directory.

Terminal window
mkdir my-project && cd my-project
nebi init
Output
No pixi.toml found; running pixi init...
Created /home/user/my-project/pixi.toml
Workspace 'my-project' initialized (/home/user/my-project)

Add dependencies to your workspace. This records them in pixi.toml so they become part of the environment you version and share.

Terminal window
pixi add python numpy scikit-learn

Your workspace now has two files:

my-project/
├── pixi.toml # environment spec (dependencies, tasks, platforms)
└── pixi.lock # exact version pins for reproducibility

Just like git push saves your code to a remote, nebi push saves your environment spec to a Nebi server.

You need a running server to push to. See Server Setup if you haven’t set one up yet, then log in:

Terminal window
nebi login http://localhost:8460

Then push the workspace with a version tag:

Terminal window
nebi push my-project:v1.0
Output
Pushed my-project (version 1, tags: sha-a1b2c3d4, latest, v1.0)

To see how versioning helps, you need at least two versions to compare. Add a package and push again:

Terminal window
pixi add pandas
nebi push my-project:v2.0

Before pulling a version, you can preview what would change. nebi diff compares any two versions on the server, or a server version against your local workspace.

Terminal window
nebi diff my-project:v1.0 my-project:v2.0
Output
--- my-project:v1.0
+++ my-project:v2.0
@@ pixi.toml @@
[dependencies]
+pandas = ">=2.2"

Once a version is on the server, anyone on your team can pull it to their own machine. To try this locally, pull into a fresh directory:

Terminal window
mkdir teammate && cd teammate
nebi pull my-project:v2.0
Output
Pulled my-project:v2.0

This writes pixi.toml and pixi.lock into the current directory. To install the packages, run:

Terminal window
pixi install