1{
2 lib,
3 rustPlatform,
4 buildNpmPackage,
5 fetchFromGitHub,
6}:
7let
8 pname = "sql-studio";
9 version = "0.1.35";
10
11 src = fetchFromGitHub {
12 owner = "frectonz";
13 repo = "sql-studio";
14 rev = version;
15 hash = "sha256-ZWGV4DYf+85LIGVDc8hcWSEJsM6UisuCB2Wd2kiw/sk=";
16 };
17
18 ui = buildNpmPackage {
19 inherit version src;
20 pname = "${pname}-ui";
21 npmDepsHash = "sha256-NCq8RuaC+dO6Zbgl1ucJxhJrVZ69Va3b2/gYn4fThAw=";
22 sourceRoot = "${src.name}/ui";
23 installPhase = ''
24 cp -pr --reflink=auto -- dist "$out/"
25 '';
26 };
27in
28rustPlatform.buildRustPackage {
29 inherit pname version src;
30
31 cargoHash = "sha256-rWG5iPXiG7kCf0yLAqcQi8AM3qv/WTUiY4cVrjpUc/Y=";
32
33 preBuild = ''
34 cp -pr --reflink=auto -- ${ui} ui/dist
35 '';
36
37 meta = {
38 description = "SQL Database Explorer [SQLite, libSQL, PostgreSQL, MySQL/MariaDB, ClickHouse, Microsoft SQL Server]";
39 homepage = "https://github.com/frectonz/sql-studio";
40 mainProgram = "sql-studio";
41 license = lib.licenses.mit;
42 maintainers = [ lib.maintainers.frectonz ];
43 platforms = lib.platforms.all;
44 };
45}