about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/office/appflowy/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/office/appflowy/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/office/appflowy/default.nix76
1 files changed, 76 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/office/appflowy/default.nix b/nixpkgs/pkgs/applications/office/appflowy/default.nix
new file mode 100644
index 000000000000..05bb88bdfe74
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/appflowy/default.nix
@@ -0,0 +1,76 @@
+{ stdenv,
+  lib,
+  fetchzip,
+  autoPatchelfHook,
+  makeWrapper,
+  copyDesktopItems,
+  makeDesktopItem,
+  gtk3,
+  openssl,
+  xdg-user-dirs
+}:
+
+stdenv.mkDerivation rec {
+  pname = "appflowy";
+  version = "0.0.2";
+
+  src = fetchzip {
+    url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-linux-x86.tar.gz";
+    sha256 = "1fvv4mlgf0vqcq5zh0zl2xr44saz0sm47r8whcywwrmcm0l66iv6";
+  };
+
+  nativeBuildInputs = [
+      autoPatchelfHook
+      makeWrapper
+      copyDesktopItems
+  ];
+
+  buildInputs = [
+      gtk3
+      openssl
+  ];
+
+  dontBuild = true;
+  dontConfigure = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/opt/
+    mkdir -p $out/bin/
+
+    # Copy archive contents to the outpout directory
+    cp -r ./* $out/opt/
+
+    runHook postInstall
+  '';
+
+  preFixup = let
+    libPath = lib.makeLibraryPath [
+      xdg-user-dirs
+    ];
+  in ''
+    # Add missing libraries to appflowy using the ones it comes with
+    makeWrapper $out/opt/app_flowy $out/bin/appflowy \
+          --set LD_LIBRARY_PATH "$out/opt/lib/:${libPath}"
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      desktopName = "AppFlowy";
+      comment = meta.description;
+      exec = "appflowy";
+      categories = "Office;";
+    })
+  ];
+
+  meta = with lib; {
+    description = "An open-source alternative to Notion";
+    homepage = "https://www.appflowy.io/";
+    license = licenses.agpl3Only;
+    changelog = "https://github.com/AppFlowy-IO/appflowy/releases/tag/${version}";
+    maintainers = with maintainers; [ darkonion0 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}