shell: add datasette wrapper with metadata.json

This commit is contained in:
Else, Someone 2025-04-29 02:34:44 +00:00
parent 1ac96a4356
commit 26538edf4f
2 changed files with 31 additions and 2 deletions

View file

@ -47,5 +47,33 @@ lib.makeScope pkgs.newScope (
}
);
sidx = self.sidx-crate2nix.rootCrate.build;
datasette-wrapped = self.callPackage (
{
datasette,
datasette-metadata,
makeWrapper,
runCommand,
}:
runCommand "datasettew" { nativeBuildInputs = [ makeWrapper ]; } ''
mkdir -p "$out/bin"
makeWrapper ${lib.getExe datasette} "$out/bin/datasettew" \
--add-flags --metadata=${datasette-metadata}
''
) { };
datasette-metadata = self.callPackage (
{ formats }:
(formats.json { }).generate "datasette-metadata.json" {
"databases" = {
"sidx" = {
"tables" = {
"Hash" = {
"label_column" = "hash";
};
};
};
};
}
) { };
}
)

View file

@ -2,6 +2,7 @@
npins ? import ./npins,
nixpkgs ? npins.nixpkgs,
pkgs ? import nixpkgs { },
self ? import ./. { inherit nixpkgs pkgs npins; },
lib ? pkgs.lib,
mkShell ? pkgs.mkShell,
sqlite ? pkgs.sqlite,
@ -12,7 +13,7 @@
pkg-config ? pkgs.pkg-config,
crate2nix ? pkgs.crate2nix,
protobuf ? pkgs.protobuf,
datasette ? pkgs.datasette,
datasette-wrapped ? self.datasette-wrapped,
...
}:
mkShell {
@ -25,7 +26,7 @@ mkShell {
rust-analyzer
pkg-config
protobuf
datasette
datasette-wrapped
];
buildInputs = [
openssl