nixos/local/pkgs/typora/default.nix

43 lines
1.2 KiB
Nix
Raw 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";
2024-01-18 15:11:17 +08:00
version = "1.8.2-dev";
2023-09-01 21:05:26 +08:00
src = fetchurl
{
url = "https://download.typora.io/linux/typora_${version}_amd64.deb";
2024-01-18 15:11:17 +08:00
sha256 = "0abi9m8h8k0228ajag26lxk756a7aqqixg608k85gnkdmibnq6mv";
2023-09-01 21:05:26 +08:00
};
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
}