From 583ed20387d4054c9d68d64b3426a7327c6cf321 Mon Sep 17 00:00:00 2001 From: Natsu Kagami Date: Mon, 27 Feb 2023 18:31:50 +0100 Subject: [PATCH] Add aarch64 typora --- home/macbook-nixos.nix | 2 ++ overlay.nix | 4 +++ packages/aarch64-linux/typora.nix | 50 +++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 packages/aarch64-linux/typora.nix diff --git a/home/macbook-nixos.nix b/home/macbook-nixos.nix index a49f2e9..eed7520 100644 --- a/home/macbook-nixos.nix +++ b/home/macbook-nixos.nix @@ -44,6 +44,8 @@ in discord + typora + # Java & sbt openjdk11 sbt diff --git a/overlay.nix b/overlay.nix index 889799a..34ee24c 100644 --- a/overlay.nix +++ b/overlay.nix @@ -43,6 +43,10 @@ let }); # Zotero does not have their own aarch64-linux build zotero = final.callPackage ./packages/aarch64-linux/zotero.nix { }; + # Typora for aarch64-linux only + typora = optionalOverride + (builtins.abort "no support for non-aarch64-linux") + (final.callPackage ./packages/aarch64-linux/typora.nix { }); }; overlay-asahi = inputs.nixos-m1.overlays.default; diff --git a/packages/aarch64-linux/typora.nix b/packages/aarch64-linux/typora.nix new file mode 100644 index 0000000..792540e --- /dev/null +++ b/packages/aarch64-linux/typora.nix @@ -0,0 +1,50 @@ +{ pkgs, runCommand, zstd, lib, buildFHSUserEnv }: + +let + typora-tar = builtins.fetchurl { + url = "https://download.typora.io/linux/Typora-linux-arm64.tar.gz"; + sha256 = "sha256:1xp25rvr8hr8b4dwb55d9229bbnpq7kd2bxvz7l3dfhn39zpxxjg"; + }; + + typora-src = runCommand "typora-src" { } '' + mkdir -p $out + tar xvf ${typora-tar} -C $out + ''; +in +buildFHSUserEnv { + name = "typora"; + targetPkgs = pkgs: with pkgs; [ + glib + nss + nspr + at-spi2-atk + cups + dbus + gtk3 + pango + cairo + mesa + expat + libdrm + libxkbcommon + alsa-lib + freefont_ttf + liberation_ttf + wayland + libglvnd + electron + ] ++ (with pkgs.xorg; [ + libX11 + libXcomposite + libXdamage + libXext + libXfixes + libXrandr + libxcb + ]); + extraBuildCommands = '' + # ldd ${typora-src}/bin/Typora-linux-arm64/Typora && false + ''; + # runScript = "${typora-src}/bin/Typora-linux-arm64/Typora --enable-features=UseOzonePlatform --ozone-platform=wayland"; + runScript = "electron ${typora-src}/bin/Typora-linux-arm64/resources/app.asar"; +}