main
1# Modify from https://github.com/bet4it/nur-packages/blob/cad7c4585ef10f189352ca894866d345081a44ce/pkgs/kelivo/package.nix
2{
3 lib,
4 flutter338,
5 fetchFromGitHub,
6 copyDesktopItems,
7 makeDesktopItem,
8 gst_all_1,
9 keybinder3,
10 libappindicator,
11}:
12flutter338.buildFlutterApplication {
13 pname = "kelivo";
14 version = "1.1.15";
15
16 src = fetchFromGitHub {
17 owner = "Chevey339";
18 repo = "kelivo";
19 rev = "87c85a51a381adfa2e378365eb1a1d7f54cc8ab0";
20 hash = "sha256-5fVZ3KVkmojjUIFAnkWMhnNz64QIIbSHUhwvLfQCIgo=";
21 };
22
23 pubspecLock = lib.importJSON ./pubspec.lock.json;
24
25 nativeBuildInputs = [
26 copyDesktopItems
27 ];
28
29 buildInputs = [
30 gst_all_1.gst-plugins-base
31 gst_all_1.gstreamer
32 keybinder3
33 libappindicator
34 ];
35
36 desktopItems = [
37 (makeDesktopItem {
38 name = "com.psyche.kelivo";
39 exec = "kelivo";
40 icon = "com.psyche.kelivo";
41 desktopName = "Kelivo";
42 startupWMClass = "com.psyche.kelivo";
43 comment = "An LLM chat client";
44 categories = [
45 "Network"
46 "Chat"
47 ];
48 })
49 ];
50
51 postInstall = ''
52 install -Dm644 assets/app_icon.png \
53 $out/share/icons/hicolor/512x512/apps/com.psyche.kelivo.png
54 ln -s com.psyche.kelivo.png \
55 $out/share/icons/hicolor/512x512/apps/kelivo.png
56 '';
57
58 meta = {
59 description = "LLM chat client";
60 homepage = "https://github.com/Chevey339/kelivo";
61 license = lib.licenses.agpl3Only;
62 platforms = ["x86_64-linux" "aarch64-linux"];
63 };
64}