From 7625dbbe50f06c36ce150c0737d356557f30d5f5 Mon Sep 17 00:00:00 2001 From: liberodark Date: Thu, 5 Dec 2024 11:24:48 +0100 Subject: [PATCH 1/2] typora: fix --- pkgs/by-name/ty/typora/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ty/typora/package.nix b/pkgs/by-name/ty/typora/package.nix index 43c655750db5..3f6f4a776767 100644 --- a/pkgs/by-name/ty/typora/package.nix +++ b/pkgs/by-name/ty/typora/package.nix @@ -60,6 +60,7 @@ let pango cairo mesa + libGL expat libxkbcommon ]) ++ (with pkgs.xorg; [ @@ -73,7 +74,7 @@ let libxcb ]); runScript = '' - Typora $* + Typora "$@" ''; }; From debfc9f3bb91cab0a41c70559b2a44ad3d170386 Mon Sep 17 00:00:00 2001 From: liberodark Date: Thu, 5 Dec 2024 12:08:15 +0100 Subject: [PATCH 2/2] typora: add launcher --- pkgs/by-name/ty/typora/package.nix | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ty/typora/package.nix b/pkgs/by-name/ty/typora/package.nix index 3f6f4a776767..e15ba4bf023f 100644 --- a/pkgs/by-name/ty/typora/package.nix +++ b/pkgs/by-name/ty/typora/package.nix @@ -16,6 +16,7 @@ , expat , alsa-lib , buildFHSEnv +, writeTextFile }: let @@ -78,6 +79,31 @@ let ''; }; + launchScript = writeTextFile { + name = "typora-launcher"; + executable = true; + text = '' + #!${stdenv.shell} + + # Configuration directory setup + XDG_CONFIG_HOME=''${XDG_CONFIG_HOME:-~/.config} + TYPORA_CONFIG_DIR="$XDG_CONFIG_HOME/Typora" + TYPORA_DICT_DIR="$TYPORA_CONFIG_DIR/typora-dictionaries" + + # Create config directories with proper permissions + mkdir -p "$TYPORA_DICT_DIR" + chmod 755 "$TYPORA_CONFIG_DIR" + chmod 755 "$TYPORA_DICT_DIR" + + # Read user flags if they exist + if [ -f "$XDG_CONFIG_HOME/typora-flags.conf" ]; then + TYPORA_USER_FLAGS="$(sed 's/#.*//' "$XDG_CONFIG_HOME/typora-flags.conf" | tr '\n' ' ')" + fi + + exec ${typoraFHS}/bin/typora-fhs "$@" $TYPORA_USER_FLAGS + ''; + }; + in stdenv.mkDerivation { inherit pname version; @@ -88,7 +114,7 @@ in stdenv.mkDerivation { installPhase = '' runHook preInstall mkdir -p $out/bin - ln -s ${typoraFHS}/bin/typora-fhs $out/bin/typora + ln -s ${launchScript} $out/bin/typora ln -s ${typoraBase}/share/ $out runHook postInstall '';