nix/packages/zeroclaw.nix

43 lines
1.4 KiB
Nix

# ZeroClaw: built from source on NixOS (release tag as source).
# Pre-built Linux binaries are not used; this compiles from the official repo at the given tag.
# https://github.com/zeroclaw-labs/zeroclaw
#
# When bumping version: set rev = "v<version>" and update src.sha256 via:
# nix-prefetch-url --unpack "https://github.com/zeroclaw-labs/zeroclaw/archive/refs/tags/v<version>.tar.gz"
{
rustPlatform,
fetchFromGitHub,
lib,
}:
rustPlatform.buildRustPackage rec {
pname = "zeroclaw";
version = "0.1.7";
src = fetchFromGitHub {
owner = "zeroclaw-labs";
repo = "zeroclaw";
rev = "v${version}";
sha256 = "0d4yx8r0yg54jv5yqgx6abdww5rdak3waxfrw8a00fz5nj3zd3qg";
};
# Use Cargo.lock from the tagged source for reproducible dependency resolution
cargoLock = {
lockFile = "${src}/Cargo.lock";
};
# Placeholder web/dist so rust-embed has at least one asset (dashboard is optional)
prePatch = ''
mkdir -p web/dist
echo '<!DOCTYPE html><html><head><title>ZeroClaw</title></head><body>Dashboard placeholder</body></html>' > web/dist/index.html
'';
doCheck = false;
meta = with lib; {
description = "Fast, small, and fully autonomous AI assistant infrastructure";
homepage = "https://github.com/zeroclaw-labs/zeroclaw";
license = with licenses; [ mit asl20 ];
platforms = platforms.linux;
mainProgram = "zeroclaw";
};
}