10 pname = "nosql-workbench";
15 url = "https://s3.amazonaws.com/nosql-workbench/NoSQL%20Workbench-mac-x64-${version}.dmg";
16 hash = "sha256-KM3aDDsQGZwUKU/or0eOoP8okAOPH7q8KL46RwfqhzM=";
19 url = "https://s3.amazonaws.com/nosql-workbench/NoSQL%20Workbench-mac-arm64-${version}.dmg";
20 hash = "sha256-LzHiCMrDOWDuMNkkojLgKn+UG7x76wSAz0BapyWkAzU=";
23 url = "https://s3.amazonaws.com/nosql-workbench/NoSQL%20Workbench-linux-${version}.AppImage";
24 hash = "sha256-cDOSbhAEFBHvAluxTxqVpva1GJSlFhiozzRfuM4MK5c=";
26 }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
29 description = "Visual tool that provides data modeling, data visualization, and query development features to help you design, create, query, and manage DynamoDB tables";
30 homepage = "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/workbench.html";
31 changelog = "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkbenchDocumentHistory.html";
32 license = lib.licenses.unfree;
33 maintainers = with lib.maintainers; [ DataHearth ];
34 platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ];
37 if stdenv.isDarwin then stdenv.mkDerivation {
38 inherit pname version src meta;
42 # DMG file is using APFS which is unsupported by "undmg".
43 # Instead, use "7zz" to extract the contents.
44 # "undmg" issue: https://github.com/matthewbauer/undmg/issues/4
45 nativeBuildInputs = [ _7zz ];
47 buildInputs = [ jdk21 ];
52 mkdir -p "$out/Applications"
53 mv NoSQL\ Workbench.app $out/Applications/
58 } else appimageTools.wrapType2 {
59 inherit pname version src meta;
62 # Required to run DynamoDB locally
66 extraInstallCommands = let
67 appimageContents = appimageTools.extract {
68 inherit pname version src;
71 # Install XDG Desktop file and its icon
72 install -Dm444 ${appimageContents}/nosql-workbench.desktop -t $out/share/applications
73 install -Dm444 ${appimageContents}/nosql-workbench.png -t $out/share/pixmaps
75 # Replace wrong exec statement in XDG Desktop file
76 substituteInPlace $out/share/applications/nosql-workbench.desktop \
77 --replace 'Exec=AppRun --no-sandbox %U' 'Exec=nosql-workbench'