1{
2 lib,
3 fetchurl,
4 appimageTools,
5 makeWrapper,
6}:
7let
8 pname = "starc";
9 version = "0.7.8";
10 src = fetchurl {
11 url = "https://github.com/story-apps/starc/releases/download/v${version}/starc-setup.AppImage";
12 hash = "sha256-thW7BzbY0eR72sa0eQT8iTo+K193k2C5b+R0zyXni9Y=";
13 };
14
15 appimageContents = appimageTools.extract { inherit pname version src; };
16in
17appimageTools.wrapType2 {
18 inherit pname version src;
19 nativeBuildInputs = [ makeWrapper ];
20 extraInstallCommands = ''
21 # Fixup desktop item icons
22 install -D ${appimageContents}/starc.desktop -t $out/share/applications/
23 substituteInPlace $out/share/applications/starc.desktop \
24 --replace-fail "Icon=starc" "${''
25 Icon=dev.storyapps.starc
26 StartupWMClass=Story Architect''}"
27 cp -r ${appimageContents}/share/* $out/share/
28
29 wrapProgram $out/bin/starc \
30 --unset QT_PLUGIN_PATH
31 '';
32
33 meta = {
34 description = "Intuitive screenwriting app that streamlines the writing process";
35 homepage = "https://starc.app/";
36 mainProgram = "starc";
37 license = lib.licenses.unfree;
38 maintainers = with lib.maintainers; [ pancaek ];
39 platforms = [ "x86_64-linux" ];
40 };
41}