In earlier versions of nix-prisma-utils the API was more like a factory pattern. This API still works, but is now deprecated and we recommend switching to the new API. We still try to support the legacy API for backwards compatibility, though.
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
prisma-utils.url = "github:VanCoding/nix-prisma-utils";
};
outputs =
{ nixpkgs, prisma-utils, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
prisma =
(prisma-utils.lib.prisma-factory {
inherit pkgs;
# just copy these hashes for now, and then change them when nix complains about the mismatch
prisma-fmt-hash = "sha256-4zsJv0PW8FkGfiiv/9g0y5xWNjmRWD8Q2l2blSSBY3s=";
query-engine-hash = "sha256-6ILWB6ZmK4ac6SgAtqCkZKHbQANmcqpWO92U8CfkFzw=";
libquery-engine-hash = "sha256-n9IimBruqpDJStlEbCJ8nsk8L9dDW95ug+gz9DHS1Lc=";
schema-engine-hash = "sha256-j38xSXOBwAjIdIpbSTkFJijby6OGWCoAx+xZyms/34Q=";
}).fromNpmLock
./package-lock.json; # <--- path to our package-lock.json file that contains the version of prisma-engines
in
{
devShells.${system}.default = pkgs.mkShell {
env = prisma.env;
# or, you can use `shellHook` instead of `env` to load the same environment variables.
# shellHook = prisma.shellHook;
};
};
}both yarn v1 and yarn-berry should work.
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
prisma-utils.url = "github:VanCoding/nix-prisma-utils";
};
outputs =
{ nixpkgs, prisma-utils, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
prisma =
(prisma-utils.lib.prisma-factory {
inherit pkgs;
# just copy these hashes for now, and then change them when nix complains about the mismatch
prisma-fmt-hash = "sha256-4zsJv0PW8FkGfiiv/9g0y5xWNjmRWD8Q2l2blSSBY3s=";
query-engine-hash = "sha256-6ILWB6ZmK4ac6SgAtqCkZKHbQANmcqpWO92U8CfkFzw=";
libquery-engine-hash = "sha256-n9IimBruqpDJStlEbCJ8nsk8L9dDW95ug+gz9DHS1Lc=";
schema-engine-hash = "sha256-j38xSXOBwAjIdIpbSTkFJijby6OGWCoAx+xZyms/34Q=";
}).fromYarnLock
./yarn.lock; # <--- path to our yarn.lock file that contains the version of prisma-engines
in
{
devShells.${system}.default = pkgs.mkShell {
shellHook = prisma.shellHook;
};
};
}{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
prisma-utils.url = "github:VanCoding/nix-prisma-utils";
};
outputs =
{ nixpkgs, prisma-utils, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
prisma =
(prisma-utils.lib.prisma-factory {
inherit pkgs;
# just copy these hashes for now, and then change them when nix complains about the mismatch
prisma-fmt-hash = "sha256-4zsJv0PW8FkGfiiv/9g0y5xWNjmRWD8Q2l2blSSBY3s=";
query-engine-hash = "sha256-6ILWB6ZmK4ac6SgAtqCkZKHbQANmcqpWO92U8CfkFzw=";
libquery-engine-hash = "sha256-n9IimBruqpDJStlEbCJ8nsk8L9dDW95ug+gz9DHS1Lc=";
schema-engine-hash = "sha256-j38xSXOBwAjIdIpbSTkFJijby6OGWCoAx+xZyms/34Q=";
}).fromPnpmLock
./pnpm-lock.yaml; # <--- path to our pnpm-lock.yaml file that contains the version of prisma-engines
in
{
devShells.${system}.default = pkgs.mkShell {
env = prisma.env;
# or, you can use `shellHook` instead of `env` to load the same environment variables.
# shellHook = prisma.shellHook;
};
};
}{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
prisma-utils.url = "github:VanCoding/nix-prisma-utils";
};
outputs =
{ nixpkgs, prisma-utils, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
prisma =
(prisma-utils.lib.prisma-factory {
inherit pkgs;
# just copy these hashes for now, and then change them when nix complains about the mismatch
prisma-fmt-hash = "sha256-4zsJv0PW8FkGfiiv/9g0y5xWNjmRWD8Q2l2blSSBY3s=";
query-engine-hash = "sha256-6ILWB6ZmK4ac6SgAtqCkZKHbQANmcqpWO92U8CfkFzw=";
libquery-engine-hash = "sha256-n9IimBruqpDJStlEbCJ8nsk8L9dDW95ug+gz9DHS1Lc=";
schema-engine-hash = "sha256-j38xSXOBwAjIdIpbSTkFJijby6OGWCoAx+xZyms/34Q=";
}).fromBunLock
./bun.lock; # <--- path to our bun.lock file that contains the version of prisma-engines.
# NOTE: does not work with bun.lockb!
in
{
devShells.${system}.default = pkgs.mkShell {
env = prisma.env;
# or, you can use `shellHook` instead of `env` to load the same environment variables.
# shellHook = prisma.shellHook;
};
};
}