diff --git a/pkgs/by-name/ty/typora/package.nix b/pkgs/by-name/ty/typora/package.nix index 3f6f4a776767b5..f08bc6b4a7cac7 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,21 @@ let ''; }; + launchScript = writeTextFile { + name = "typora-launcher"; + executable = true; + text = '' + #!${stdenv.shell} + XDG_CONFIG_HOME=''${XDG_CONFIG_HOME:-~/.config} + + 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 +104,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 '';