{ description = "NotNet's one stop shop for authentication and account onboarding"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: let packages = flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages."${system}"; # I really cannot be assed to pick this apart inputs = with pkgs; [ vips pkg-config python3 ]; # https://github.com/prisma/prisma/issues/3026#issuecomment-927258138 prismaHook = with pkgs; '' export PRISMA_MIGRATION_ENGINE_BINARY="${prisma-engines}/bin/migration-engine" export PRISMA_QUERY_ENGINE_BINARY="${prisma-engines}/bin/query-engine" export PRISMA_QUERY_ENGINE_LIBRARY="${prisma-engines}/lib/libquery_engine.node" export PRISMA_INTROSPECTION_ENGINE_BINARY="${prisma-engines}/bin/introspection-engine" export PRISMA_FMT_BINARY="${prisma-engines}/bin/prisma-fmt" ''; in rec { packages.gluestick = pkgs.buildNpmPackage { pname = "gluestick"; version = "0.1.0"; src = ./.; npmDepsHash = "sha256-JPsXIPyiGycT/4dcg78qAz+qqIRYpSR24NWeu+5jLk0="; nativeBuildInputs = inputs; buildInputs = inputs; preBuild = '' ${prismaHook} # Use the introspection.json, because we can't connect to the API at build time GRAPHQL_USE_INTROSPECTION=true npm run graphql-codegen npm run prisma-generate ''; installPhase = '' runHook preInstall mkdir -p $out cp -r .next/standalone $out/server cp -r .next/static $out/server/.next/static cp -r public $out/server/public cp -r prisma $out/prisma mkdir -p $out/bin cat > $out/bin/gluestick < $out/bin/prisma <