diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 5bf64c192fa6..9698a503e118 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -12851,6 +12851,12 @@ githubId = 9939720; name = "Philippe Nguyen"; }; + npulidomateo = { + matrix = "@npulidomateo:matrix.org"; + github = "npulidomateo"; + githubId = 13149442; + name = "Nico Pulido-Mateo"; + }; nrdxp = { email = "tim.deh@pm.me"; matrix = "@timdeh:matrix.org"; diff --git a/pkgs/applications/editors/typora/default.nix b/pkgs/applications/editors/typora/default.nix new file mode 100644 index 000000000000..5332e0b5d05b --- /dev/null +++ b/pkgs/applications/editors/typora/default.nix @@ -0,0 +1,104 @@ +{ stdenv +, fetchurl +, dpkg +, lib +, glib +, nss +, nspr +, at-spi2-atk +, cups +, dbus +, libdrm +, gtk3 +, pango +, cairo +, xorg +, libxkbcommon +, mesa +, expat +, alsa-lib +, buildFHSEnv +}: + +let + pname = "typora"; + version = "1.7.5"; + src = fetchurl { + url = "https://download.typora.io/linux/typora_${version}_amd64.deb"; + hash = "sha256-4Q+fx1kNu98+nxnI/7hLhE6zOdNsaAiAnW6xVd+hZOI="; + }; + + typoraBase = stdenv.mkDerivation { + inherit pname version src; + + nativeBuildInputs = [ dpkg ]; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin $out/share + mv usr/share $out + ln -s $out/share/typora/Typora $out/bin/Typora + runHook postInstall + ''; + }; + + typoraFHS = buildFHSEnv { + name = "typora-fhs"; + targetPkgs = pkgs: (with pkgs; [ + typoraBase + udev + alsa-lib + glib + nss + nspr + atk + cups + dbus + gtk3 + libdrm + pango + cairo + mesa + expat + libxkbcommon + ]) ++ (with pkgs.xorg; [ + libX11 + libXcursor + libXrandr + libXcomposite + libXdamage + libXext + libXfixes + libxcb + ]); + runScript = '' + Typora $* + ''; + }; + +in stdenv.mkDerivation { + inherit pname version; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + ln -s ${typoraFHS}/bin/typora-fhs $out/bin/typora + ln -s ${typoraBase}/share/ $out + runHook postInstall + ''; + + meta = with lib; { + description = "A markdown editor, a markdown reader"; + homepage = "https://typora.io/"; + license = licenses.unfree; + maintainers = with maintainers; [ npulidomateo ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 55028594598e..56cdbd926052 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -34242,6 +34242,8 @@ with pkgs; synfigstudio = callPackage ../applications/graphics/synfigstudio { }; + typora = callPackage ../applications/editors/typora { }; + taxi = callPackage ../applications/networking/ftp/taxi { }; taxi-cli = with python3Packages; toPythonApplication taxi;