Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / zettlr / generic.nix
blob671577b61ba758f2b203c6a77b4bf85b6f758653
1 { pname
2 , version
3 , hash
4 , appimageTools
5 , lib
6 , fetchurl
7 , texliveMedium
8 , pandoc
9 }:
11 # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
12 let
13   name = "${pname}-${version}";
14   src = fetchurl {
15     url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
16     inherit hash;
17   };
18   appimageContents = appimageTools.extractType2 {
19     inherit name src;
20   };
22 appimageTools.wrapType2 rec {
23   inherit name src;
25   multiArch = false; # no 32bit needed
26   extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ texliveMedium pandoc ];
27   extraInstallCommands = ''
28     mv $out/bin/{${name},${pname}}
29     install -m 444 -D ${appimageContents}/Zettlr.desktop $out/share/applications/Zettlr.desktop
30     install -m 444 -D ${appimageContents}/Zettlr.png $out/share/icons/hicolor/512x512/apps/Zettlr.png
31     substituteInPlace $out/share/applications/Zettlr.desktop \
32       --replace 'Exec=AppRun' 'Exec=${pname}'
33   '';
35   meta = with lib; {
36     description = "A markdown editor for writing academic texts and taking notes";
37     homepage = "https://www.zettlr.com";
38     platforms = [ "x86_64-linux" ];
39     license = licenses.gpl3;
40     maintainers = with maintainers; [ tfmoraes ];
41   };