40 inherit (stdenv.hostPlatform) system;
41 selectSystem = attrs: attrs.${system};
42 suffix = selectSystem {
43 x86_64-linux = "waveterm-linux-x64";
44 aarch64-linux = "waveterm-linux-arm64";
45 x86_64-darwin = "Wave-darwin-x64";
46 aarch64-darwin = "Wave-darwin-arm64";
49 x86_64-linux = "sha256-s6s/SfLNVwRN50OgqWTohHT8/rFuu4P3hpxfhA7kPOU=";
50 aarch64-linux = "sha256-dxQbTPvge3QY40rWKAOV/uuTPzHsfNk9USxICoF1CQM=";
51 x86_64-darwin = "sha256-/nedzsQxqLclK5uwOKZ/WgRwjoHDCxLuI+/T1B3cyJM=";
52 aarch64-darwin = "sha256-lBJEJHgBozrR+JF5jlbmuG2c0P19qmjJUhwlJtHqkRE=";
56 url = "https://github.com/wavetermdev/waveterm/releases/download/v${version}/${suffix}-${version}.zip";
61 passthru.updateScript = ./update.sh;
66 exec = "waveterm --no-sandbox %U";
68 url = "https://raw.githubusercontent.com/wavetermdev/waveterm/refs/tags/v${version}/build/appicon.png";
69 hash = "sha256-qob27/64C9XPBtXghxg5/g0qRaiOUOpuFYL1n7/aEB0=";
71 startupWMClass = "Wave";
72 comment = "Open-Source AI-Native Terminal Built for Seamless Workflows";
74 genericName = "Terminal Emulator";
89 description = "Open-source, cross-platform terminal for seamless workflows";
90 homepage = "https://www.waveterm.dev";
91 mainProgram = "waveterm";
92 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
93 license = lib.licenses.asl20;
100 maintainers = with lib.maintainers; [ aucub ];
103 linux = stdenv.mkDerivation {
113 nativeBuildInputs = [
142 runtimeDependencies = map lib.getLib [
149 mkdir -p $out/waveterm $out/bin
150 cp -r ./* $out/waveterm/
156 makeWrapper $out/waveterm/waveterm $out/bin/waveterm \
157 --prefix LD_LIBRARY_PATH : "${
158 lib.makeLibraryPath [
165 darwin = stdenv.mkDerivation {
174 sourceRoot = "Wave.app";
179 mkdir -p $out/Applications/Wave.app
180 cp -R . $out/Applications/Wave.app
186 if stdenv.hostPlatform.isDarwin then darwin else linux