From 26538edf4f129b09be7e5343a44b38422cbad3c5 Mon Sep 17 00:00:00 2001 From: SomeoneSerge Date: Tue, 29 Apr 2025 02:34:44 +0000 Subject: [PATCH] shell: add datasette wrapper with metadata.json --- default.nix | 28 ++++++++++++++++++++++++++++ shell.nix | 5 +++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/default.nix b/default.nix index 4ae9a1a..a822a80 100644 --- a/default.nix +++ b/default.nix @@ -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"; + }; + }; + }; + }; + + } + ) { }; } ) diff --git a/shell.nix b/shell.nix index b628aff..c168f3f 100644 --- a/shell.nix +++ b/shell.nix @@ -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