- netboot-base.nix with SSH key auth - Launch scripts for node01/02/03 - Node configuration.nix and disko.nix - Nix modules for first-boot automation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
50 lines
1.1 KiB
Nix
50 lines
1.1 KiB
Nix
{ pkgs ? import <nixpkgs> {} }:
|
|
|
|
pkgs.mkShell {
|
|
name = "cloud-dev";
|
|
|
|
buildInputs = with pkgs; [
|
|
# Rust toolchain
|
|
rustup
|
|
cargo
|
|
rustc
|
|
|
|
# Protocol Buffers
|
|
protobuf
|
|
|
|
# LLVM/Clang (for bindgen/clang-sys)
|
|
llvmPackages.libclang
|
|
llvmPackages.clang
|
|
|
|
# Build essentials
|
|
pkg-config
|
|
openssl
|
|
|
|
# Development tools
|
|
git
|
|
|
|
# For RocksDB (chainfire dependency)
|
|
rocksdb
|
|
];
|
|
|
|
# Environment variables for clang-sys
|
|
LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib";
|
|
|
|
# Ensure protoc is found
|
|
PROTOC = "${pkgs.protobuf}/bin/protoc";
|
|
|
|
shellHook = ''
|
|
echo "Cloud Platform Development Environment"
|
|
echo "======================================="
|
|
if ! rustup default >/dev/null 2>&1; then
|
|
rustup default stable
|
|
fi
|
|
echo "Rust: $(rustc --version 2>/dev/null || echo 'run: rustup default stable')"
|
|
echo "Protoc: $(protoc --version)"
|
|
echo "Clang: $(clang --version | head -1)"
|
|
echo ""
|
|
echo "Environment variables set:"
|
|
echo " LIBCLANG_PATH=$LIBCLANG_PATH"
|
|
echo " PROTOC=$PROTOC"
|
|
'';
|
|
}
|