35 inherit (stdenv.hostPlatform) system;
36 throwSystem = throw "Unsupported system: ${system}";
43 x86_64-linux = "waveterm-linux-x64-${version}.zip";
44 aarch64-linux = "waveterm-linux-arm64-${version}.zip";
45 x86_64-darwin = "Wave-darwin-universal-${version}.zip ";
46 aarch64-darwin = "Wave-darwin-arm64-${version}.zip";
48 .${system} or throwSystem;
51 url = "https://github.com/wavetermdev/waveterm/releases/download/v${version}/${suffix}";
54 x86_64-linux = "sha256-hRpJTFVoBQZyJD06FTRbBPj/1DlYlDWPRjJ1IKeK7Cs=";
55 aarch64-linux = "sha256-T3VqsoHhPYYrAe/dEd0SUH+G4jpHjKpJTrFy8/AgoKI=";
56 x86_64-darwin = "sha256-UlyNl2Qu59L4hnK8rTeUV30YVD45L7ub5SP8f97aJrw=";
57 aarch64-darwin = "sha256-cP+z8DQsNBJc3p57xQdGqqq7jvYcRQRIa+P+6kD3eCc=";
59 .${system} or throwSystem;
65 exec = "waveterm --no-sandbox %U";
67 url = "https://raw.githubusercontent.com/wavetermdev/waveterm/refs/tags/v${version}/build/appicon.png";
68 hash = "sha256-qob27/64C9XPBtXghxg5/g0qRaiOUOpuFYL1n7/aEB0=";
70 startupWMClass = "Wave";
71 comment = "Open-Source AI-Native Terminal Built for Seamless Workflows";
73 genericName = "Terminal Emulator";
94 description = "Open-source, cross-platform terminal for seamless workflows";
95 homepage = "https://www.waveterm.dev";
96 mainProgram = "waveterm";
97 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
98 license = lib.licenses.asl20;
105 maintainers = with lib.maintainers; [ aucub ];
108 linux = stdenv.mkDerivation {
117 nativeBuildInputs = [
147 runtimeDependencies = map lib.getLib [
153 mkdir -p $out/waveterm $out/bin
154 cp -r ./* $out/waveterm/
159 makeWrapper $out/waveterm/waveterm $out/bin/waveterm \
160 --prefix LD_LIBRARY_PATH : "${
161 lib.makeLibraryPath [
168 darwin = stdenv.mkDerivation {
177 nativeBuildInputs = [
181 sourceRoot = "Wave.app";
185 mkdir -p $out/Applications/Wave.app
186 cp -R . $out/Applications/Wave.app
191 if stdenv.hostPlatform.isDarwin then darwin else linux