blob: fae7c8d7b503e3d30c898c3fe68f5f319dde4c55 [file]
{
description = "Apache Flagon — behavioral analytics monorepo";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
devShells.default = pkgs.mkShell {
packages = with pkgs; [
# Node / TypeScript (UserALE.js)
nodejs_24
pnpm
typescript
# Python (Distill)
python313
uv
# Pre-commit hooks
lefthook
# Protobuf (schema codegen — future use)
buf
# Tools
git
jq
curl
nixpkgs-fmt
];
shellHook = ''
echo "🔥 Apache Flagon dev shell"
echo " node: $(node --version)"
echo " pnpm: $(pnpm --version)"
echo " tsc: $(tsc --version)"
echo " python: $(python3 --version)"
echo " buf: $(buf --version 2>&1 | head -1)"
echo ""
# Install lefthook git hooks on first entry
if [ ! -f .git/hooks/pre-commit ] || ! grep -q lefthook .git/hooks/pre-commit 2>/dev/null; then
echo "Installing lefthook git hooks..."
lefthook install
fi
echo "Run 'pnpm install' in products/userale to get started"
'';
};
});
}