nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 appimageTools,
4 fetchurl,
5 writeScript,
6}:
7let
8 pname = "chatbox";
9 version = "1.18.4";
10
11 src = fetchurl {
12 url = "https://download.chatboxai.app/releases/Chatbox-${version}-x86_64.AppImage";
13 hash = "sha256-6BUvwL87ndtI2lFMcNKxpdOpn+EyUhAK9jc+a/zpjpU=";
14 };
15
16 appimageContents = appimageTools.extract { inherit pname version src; };
17in
18appimageTools.wrapType2 {
19 inherit pname version src;
20
21 extraInstallCommands = ''
22 install -m 444 -D ${appimageContents}/xyz.chatboxapp.app.desktop $out/share/applications/chatbox.desktop
23 install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/xyz.chatboxapp.app.png $out/share/icons/hicolor/512x512/apps/chatbox.png
24 substituteInPlace $out/share/applications/chatbox.desktop \
25 --replace-fail 'Exec=AppRun' 'Exec=chatbox' \
26 --replace-fail 'Icon=xyz.chatboxapp.app' 'Icon=chatbox'
27 '';
28
29 passthru.updateScript = writeScript "update-chatbox" ''
30 #!/usr/bin/env nix-shell
31 #!nix-shell -i bash -p curl gnugrep common-updater-scripts
32 version=$(curl -I -X GET https://chatboxai.app/install_chatbox/linux | grep -oP 'Chatbox-\K[0-9]+\.[0-9]+\.[0-9]+')
33 update-source-version chatbox $version
34 '';
35
36 meta = {
37 description = "AI client application and smart assistant";
38 homepage = "https://chatboxai.app";
39 downloadPage = "https://chatboxai.app/en#download";
40 changelog = "https://chatboxai.app/en/help-center/changelog";
41 license = lib.licenses.unfree;
42 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
43 maintainers = with lib.maintainers; [ c31io ];
44 mainProgram = "chatbox";
45
46 # Help porting to other platforms :)
47 platforms = [ "x86_64-linux" ];
48 };
49}