Installation
This guide covers all methods to install Probitas CLI.
Shell Installer
Requires Deno v2.x or later.
Install the CLI using the shell installer:
curl -fsSL https://raw.githubusercontent.com/probitas-test/cli/main/install.sh | bash
Options
Configure installation via environment variables:
# Install specific version
curl -fsSL https://raw.githubusercontent.com/probitas-test/cli/main/install.sh | PROBITAS_VERSION=0.7.3 bash
# Install to custom directory
curl -fsSL https://raw.githubusercontent.com/probitas-test/cli/main/install.sh | PROBITAS_INSTALL_DIR=/usr/local/bin bash
Homebrew (macOS/Linux)
Install via the official Homebrew tap:
# Add the tap and install
brew tap probitas-test/tap
brew install probitas
# Or install directly
brew install probitas-test/tap/probitas
Nix
The Probitas CLI provides a Nix flake with multiple usage patterns.
Run Without Installing
Execute probitas directly without installing:
nix run github:probitas-test/cli
Install to Profile
Install into your Nix profile for persistent access:
nix profile install github:probitas-test/cli
Add to Project's flake.nix
Add Probitas to your project's development environment using the overlay:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
probitas.url = "github:probitas-test/cli";
probitas.inputs.nixpkgs.follows = "nixpkgs";
probitas.inputs.flake-utils.follows = "flake-utils";
};
outputs = { self, nixpkgs, flake-utils, probitas }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ probitas.overlays.default ];
};
in {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
probitas
];
};
});
}
Enter the development environment:
nix develop
Why Use Overlays?
The overlay pattern integrates probitas directly into your pkgs, enabling
cleaner configuration:
overlays = [ probitas.overlays.default ];
# ...
packages = with pkgs; [ probitas ]; # probitas is now part of pkgs
Benefits:
- Unified namespace: Access
probitaslike any nixpkgs package - Composable: Combine with other overlays seamlessly
Why Use inputs.follows?
The inputs.follows directive ensures Probitas uses your project's nixpkgs
version instead of its own pinned version:
probitas.inputs.nixpkgs.follows = "nixpkgs";
probitas.inputs.flake-utils.follows = "flake-utils";
Benefits:
- Single nixpkgs version: All dependencies share one nixpkgs, reducing closure size
- Faster evaluation: Fewer inputs to fetch and evaluate
Pin a Specific Version
Lock to a specific CLI version using a commit hash or tag:
probitas.url = "github:probitas-test/cli/v0.7.3";
Or using a commit:
probitas.url = "github:probitas-test/cli/abc1234";
Flake Outputs Reference
The Probitas CLI flake provides:
| Output | Description |
|---|---|
overlays.default | Overlay adding probitas to pkgs |
packages.${system}.default | The probitas CLI package |
packages.${system}.probitas | Alias for the CLI package |
apps.${system}.default | App for nix run |
devShells.${system}.default | Development shell |
Verify Installation
After installation, verify the CLI is working:
probitas --version
Next Steps
- Quick Start - Initialize your first project
- Scenario Guide - Learn to write scenarios
