diff --git a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix new file mode 100644 index 000000000000..01ad09cd25f8 --- /dev/null +++ b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix @@ -0,0 +1,35 @@ +{ lib, fetchurl, appimageTools }: + +let + pname = "tutanota-desktop"; + version = "3.88.4"; + name = "tutanota-desktop-${version}"; + src = fetchurl { + url = "https://mail.tutanota.com/desktop/tutanota-desktop-linux.AppImage"; + name = "tutanota-desktop-${version}.AppImage"; + sha256 = "sha256-MwvH6SGZwcvxAr5olklqKTF2p2pv8+F5qwpmwN3uZkc="; + }; + appimageContents = appimageTools.extractType2 { inherit name src; }; + +in appimageTools.wrapType2 { + inherit name src; + + extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ]; + + extraInstallCommands = '' + mv $out/bin/${name} $out/bin/${pname} + + install -m 444 -D ${appimageContents}/tutanota-desktop.desktop -t $out/share/applications + substituteInPlace $out/share/applications/tutanota-desktop.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + cp -r ${appimageContents}/usr/share/icons $out/share + ''; + + meta = with lib; { + description = "Tutanota official desktop client"; + homepage = "https://tutanota.com/"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ wolfangaukang ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9933bfc4af47..9501e774f6ca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9838,6 +9838,8 @@ with pkgs; turses = callPackage ../applications/networking/instant-messengers/turses { }; + tutanota-desktop = callPackage ../applications/networking/mailreaders/tutanota-desktop { }; + tv = callPackage ../tools/text/tv { }; tvm = callPackage ../development/compilers/tvm { };