Some checks failed
Docker image / build-and-push-image (push) Has been cancelled
Required to keep the nix package buildable: nixpkgs unstable no longer ships prisma-engines 5.x — the unsuffixed `prisma-engines` attr now aliases 7.x (no libquery_engine.node), and the only versioned attrs are `prisma-engines_6` (6.19.3) and `prisma-engines_7`. Bump both `@prisma/client` and `prisma` to ^6.19.0 so the client matches the only engine we can pin to. Also: - package.nix takes `prisma-engines_6` directly. flake.nix passes `pkgs.prisma-engines_6 or pkgs.prisma-engines` so the package still builds on nixos-25.05 (where prisma-engines is 6.7.0 unsuffixed). - Drop PRISMA_INTROSPECTION_ENGINE_BINARY — prisma 6 collapsed the introspection engine into schema-engine, the binary no longer ships. Schema is unchanged so existing fresh installs migrate identically. Existing dev instances with a prisma_5-tracked _prisma_migrations table will need a one-time `prisma migrate resolve` step on first boot under the new client; deploy targets are all fresh installs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
57 lines
2 KiB
Nix
57 lines
2 KiB
Nix
{
|
|
description = "nsecbunkerd — Nostr remote signing daemon (NIP-46)";
|
|
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
|
|
|
outputs = { self, nixpkgs }:
|
|
let
|
|
systems = [ "x86_64-linux" "aarch64-linux" ];
|
|
forAllSystems = nixpkgs.lib.genAttrs systems;
|
|
pkgsFor = system: import nixpkgs { inherit system; };
|
|
in
|
|
{
|
|
packages = forAllSystems (system:
|
|
let pkgs = pkgsFor system; in
|
|
rec {
|
|
default = nsecbunkerd;
|
|
nsecbunkerd = pkgs.callPackage ./package.nix {
|
|
# nixos-unstable splits prisma-engines into versioned attrs and
|
|
# aliases the bare `prisma-engines` to 7.x (no libquery_engine
|
|
# for our 6.x client). nixos-25.05 has only the bare attr at
|
|
# 6.7.0. Pick whichever exists so the package builds on both.
|
|
prisma-engines_6 = pkgs.prisma-engines_6 or pkgs.prisma-engines;
|
|
};
|
|
}
|
|
);
|
|
|
|
devShells = forAllSystems (system:
|
|
let pkgs = pkgsFor system; in
|
|
{
|
|
default = pkgs.mkShell {
|
|
packages = with pkgs; [
|
|
nodejs_20
|
|
pnpm_8
|
|
prisma
|
|
prisma-engines
|
|
python3
|
|
gcc
|
|
pkg-config
|
|
openssl
|
|
sqlite
|
|
];
|
|
|
|
shellHook = ''
|
|
# Point prisma at the nix-provided engines so it doesn't try to
|
|
# download them from binaries.prisma.sh on every install.
|
|
export PRISMA_QUERY_ENGINE_BINARY=${pkgs.prisma-engines}/bin/query-engine
|
|
export PRISMA_QUERY_ENGINE_LIBRARY=${pkgs.prisma-engines}/lib/libquery_engine.node
|
|
export PRISMA_SCHEMA_ENGINE_BINARY=${pkgs.prisma-engines}/bin/schema-engine
|
|
export PRISMA_FMT_BINARY=${pkgs.prisma-engines}/bin/prisma-fmt
|
|
export PRISMA_INTROSPECTION_ENGINE_BINARY=${pkgs.prisma-engines}/bin/introspection-engine
|
|
export PRISMA_CLIENT_ENGINE_TYPE=binary
|
|
'';
|
|
};
|
|
}
|
|
);
|
|
};
|
|
}
|