9 , gobject-introspection
26 version = "2.0.0-rc.3";
27 src = fetchFromGitHub {
30 rev = "tauri-v${version}";
31 hash = "sha256-PV8m/MzYgbY4Hv71dZrqVbrxmxrwFfOAraLJIaQk6FQ=";
33 in cargo-tauri.overrideAttrs (drv: {
35 cargoDeps = drv.cargoDeps.overrideAttrs (lib.const {
37 name = "tauri-${version}-vendor.tar.gz";
38 outputHash = "sha256-BrIH0JkGMp68O+4B+0g7X3lSdNSPXo+otlBgslCzPZE=";
46 buildGoModule (args // {
48 src = fetchFromGitHub {
52 hash = "sha256-FpvXWIlt67G8w3pBKZo/mcp57LunxDmRUaCU/Ne89B8=";
54 vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
58 in stdenv.mkDerivation (finalAttrs: {
62 src = fetchFromGitHub {
65 rev = "surrealist-v${finalAttrs.version}";
66 hash = "sha256-jOjOdrVOcGPenFW5mkkXKA64C6c+/f9KzlvtUmw6vXc=";
69 # HACK: A dependency (surrealist -> tauri -> **reqwest**) contains hyper-tls
70 # as an actually optional dependency. It ends up in the `Cargo.lock` file of
71 # tauri, but not in the one of surrealist. We apply a patch to `Cargo.toml`
72 # and `Cargo.lock` to ensure that we have it in our vendor archive. This may
73 # be a result of the following bug:
74 # https://github.com/rust-lang/cargo/issues/10801
79 cargoDeps = rustPlatform.fetchCargoTarball {
80 inherit (finalAttrs) patches src;
81 sourceRoot = finalAttrs.cargoRoot;
82 name = "${finalAttrs.pname}-${finalAttrs.version}";
83 hash = "sha256-LtQS0kH+2P4odV7BJYiH6T51+iZHAM9W9mV96rNfNWs=";
86 pnpmDeps = pnpm.fetchDeps {
87 inherit (finalAttrs) pname version src;
88 hash = "sha256-Y14wBYiAsctMf4Ljt7G/twGEQP2nCSDQZVG8otImnIE=";
93 (cargo-tauri.hook.override { cargo-tauri = cargo-tauri_2; })
100 rustPlatform.cargoSetupHook
113 ESBUILD_BINARY_PATH = lib.getExe esbuild_21-5;
114 OPENSSL_NO_VENDOR = 1;
117 cargoRoot = "src-tauri";
118 buildAndTestSubdir = finalAttrs.cargoRoot;
121 wrapProgram "$out/bin/surrealist" \
122 --set GIO_EXTRA_MODULES ${glib-networking}/lib/gio/modules \
123 --set WEBKIT_DISABLE_COMPOSITING_MODE 1
127 description = "Surrealist is the ultimate way to visually manage your SurrealDB database";
128 homepage = "https://surrealdb.com/surrealist";
129 license = licenses.mit;
130 mainProgram = "surrealist";
131 maintainers = with maintainers; [ frankp ];
132 platforms = platforms.linux;