about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/fluffychat
diff options
context:
space:
mode:
authorMaciej Krüger <mkg20001@gmail.com>2022-02-20 19:05:42 +0100
committerMaciej Krüger <mkg20001@gmail.com>2022-02-23 15:11:00 +0100
commitc625e715f857ff2401658f0aa5b1e7c7681d0a34 (patch)
tree37045fbe24b19f637b2dbb11b3c636986792ef03 /pkgs/applications/networking/instant-messengers/fluffychat
parent0bd82b7767fcadf1bcc6d3a7c5b2b05c70340a99 (diff)
fluffychat: add .desktop
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/fluffychat')
-rw-r--r--pkgs/applications/networking/instant-messengers/fluffychat/default.nix33
1 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
index 2e0f9a86e3d4f..fdb8229343836 100644
--- a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
@@ -2,6 +2,8 @@
 , fetchFromGitLab
 , flutter
 , olm
+, imagemagick
+, makeDesktopItem
 }:
 
 flutter.mkFlutterApp rec {
@@ -17,10 +19,23 @@ flutter.mkFlutterApp rec {
     hash = "sha256-PJH3jMQc6u9R6Snn+9rNN8t+8kt6l3Xt7zKPbpqj13E=";
   };
 
+  desktopItem = makeDesktopItem {
+    name = "Fluffychat";
+    exec = "@out@/bin/fluffychat";
+    icon = "fluffychat";
+    desktopName = "Fluffychat";
+    genericName = "Chat with your friends (matrix client)";
+    categories = "Chat;Network;InstantMessaging;";
+  };
+
   buildInputs = [
     olm
   ];
 
+  nativeBuildInputs = [
+    imagemagick
+  ];
+
   flutterExtraFetchCommands = ''
     M=$(echo $TMP/.pub-cache/hosted/pub.dartlang.org/matrix-*)
     sed -i $M/scripts/prepare.sh \
@@ -32,6 +47,24 @@ flutter.mkFlutterApp rec {
     popd
   '';
 
+  postInstall = ''
+    FAV=$out/app/data/flutter_assets/assets/favicon.png
+    ICO=$out/share/icons
+
+    install -D $FAV $ICO/fluffychat.png
+    mkdir $out/share/applications
+    cp $desktopItem/share/applications/*.desktop $out/share/applications
+
+    for s in 24 32 42 64 128 256 512; do
+      D=$ICO/hicolor/''${s}x''${s}/apps
+      mkdir -p $D
+      convert $FAV -resize ''${s}x''${s} $D/fluffychat.png
+    done
+
+    substituteInPlace $out/share/applications/*.desktop \
+      --subst-var out
+  '';
+
   meta = with lib; {
     description = "Chat with your friends (matrix client)";
     homepage = "https://fluffychat.im/";