Skip to main 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.

Prerequisites

Create a Workspace

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

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 Packages

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

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

Push to the Server

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:

nebi login http://localhost:8460

Then push the workspace with a version tag:

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

Make Changes and Push Again

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

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

Compare Versions

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.

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"

Pull a Version

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:

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:

pixi install

Next Steps