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
- Nebi CLI installed
- Pixi installed
- A running Nebi server (see Server Setup)
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
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
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
--- 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
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
- Local CLI Workflows: activate workspaces by name, run tasks from anywhere
- Version Rollback: diff, debug, and roll back to a known good version
- Registry Setup: configure GHCR, Quay.io, or Docker Hub for publishing