{ description = "Development and build environment for singularity-forge"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; in { devShells.default = pkgs.mkShell { packages = with pkgs; [ bash bun cargo clippy git nodejs_24 nodePackages.typescript protobuf rust-analyzer rustc rustfmt uv ]; shellHook = '' export SF_SOURCE_DIR="${toString ./.}" export PATH="$SF_SOURCE_DIR/bin:$PATH" export RUST_BACKTRACE=1 echo "singularity-forge development shell" echo " bun : $(command -v bun)" echo " cargo: $(command -v cargo)" echo " node : $(command -v node)" echo " protoc: $(command -v protoc)" echo " rustc: $(command -v rustc)" echo "" echo "Build native addon:" echo " bun run --filter @singularity-forge/native build:native" ''; }; }); }