added flake for dev on nix

This commit is contained in:
2026-01-25 16:19:27 -05:00
parent 50b0f20592
commit ecd7182153
2 changed files with 58 additions and 0 deletions

57
flake.nix Normal file
View File

@@ -0,0 +1,57 @@
{
description = "Prisma 6 development environment";
inputs = {
# Use nixos-23.11 which has Prisma 5.4.1 engines (compatible with Prisma 6)
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system: let
pkgs = nixpkgs.legacyPackages.${system};
engines = pkgs.prisma-engines;
in {
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
nodejs_18 # Prisma 6 works best with Node 18
yarn
prisma-engines
openssl.dev # For database connections
];
shellHook = ''
echo "=== Setting up Prisma 6 ==="
echo "Using prisma-engines: $(basename ${engines})"
echo ""
# Prisma 6 engine paths
export PRISMA_SCHEMA_ENGINE_BINARY="${engines}/bin/schema-engine"
export PRISMA_QUERY_ENGINE_BINARY="${engines}/bin/query-engine"
export PRISMA_INTROSPECTION_ENGINE_BINARY="${engines}/bin/introspection-engine"
export PRISMA_FMT_BINARY="${engines}/bin/prisma-fmt"
# Prisma 6 also needs the migration engine for backward compatibility
if [ -f "${engines}/bin/migration-engine" ]; then
export PRISMA_MIGRATION_ENGINE_BINARY="${engines}/bin/migration-engine"
fi
# Library file for Prisma 5/6
export PRISMA_QUERY_ENGINE_LIBRARY="${engines}/lib/libquery_engine.node"
# Skip download attempts
export PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING=1
# SSL for databases
export PKG_CONFIG_PATH="${pkgs.openssl.dev}/lib/pkgconfig"
echo " Prisma 6 environment ready"
echo "📦 Engines: 5.4.1"
echo "📦 Node: 18.x"
echo ""
echo "Test with: npx prisma --version"
'';
};
});
}