nixos/local/pkgs/typora/default.nix

43 lines
1.2 KiB
Nix
Raw Permalink Normal View History

2023-06-30 15:44:52 +08:00
{ lib, stdenv, steam-run, fetchurl, writeShellScript }:
2023-06-25 13:12:16 +08:00
let
2023-09-01 21:05:26 +08:00
typora-dist = stdenv.mkDerivation rec
{
pname = "typora-dist";
version = "1.6.6";
src = fetchurl
{
url = "https://download.typora.io/linux/typora_${version}_amd64.deb";
sha256 = "sha256-77mCgmsROLhfuOmOOyl2C5Ug2NfqEvcD+kMA3aiAQtA=";
};
2023-06-25 13:12:16 +08:00
2023-09-01 21:05:26 +08:00
dontFixup = true;
2023-06-25 13:12:16 +08:00
2023-09-01 21:05:26 +08:00
unpackPhase =
''
ar x ${src}
tar xf data.tar.xz
'';
installPhase =
''
mkdir -p $out
mv usr/share $out
'';
};
2023-06-25 13:12:16 +08:00
in stdenv.mkDerivation rec
{
2023-09-01 21:05:26 +08:00
pname = "typora";
inherit (typora-dist) version;
BuildInputs = [ typora-dist steam-run ];
startScript = writeShellScript "typora" "${steam-run}/bin/steam-run ${typora-dist}/share/typora/Typora $@";
phases = [ "installPhase" ];
installPhase =
''
mkdir -p $out/bin $out/share/applications
ln -s ${startScript} $out/bin/typora
cp ${typora-dist}/share/applications/typora.desktop $out/share/applications
sed -i "s|Exec=.*|Exec=${startScript} %U|g" $out/share/applications/typora.desktop
sed -i "s|Icon=.*|Icon=${typora-dist}/share/icons/hicolor/256x256/apps/typora.png|g" \
$out/share/applications/typora.desktop
'';
2023-06-25 13:12:16 +08:00
}