diff --git a/flake.nix b/flake.nix index 6b69499..fc00af1 100644 --- a/flake.nix +++ b/flake.nix @@ -15,49 +15,31 @@ name = "starc"; version = "0.6.4"; - icon = pkgs.fetchurl { - url = "https://github.com/story-apps/starc/blob/v${version}/img/starc.png"; - sha256 = "sha256-wixqb1cV+WEhgxsl2CeOjrid4P0daHqh0O40h2iPst4="; - }; - - appimage = pkgs.fetchurl { + appImage = pkgs.fetchurl { url = "https://github.com/story-apps/starc/releases/download/v${version}/starc-setup.AppImage"; sha256 = "sha256-KLawvuLyqd7aPidH3ghr7mLl9NFQ7nduhnxAq0RpToQ="; }; - - desktopItem = pkgs.makeDesktopItem { - exec = name; - - inherit name; - desktopName = "Story Architect"; - genericName = "Storywriting Software"; - - icon = name; - - comment = "Advanced text editor for script writers."; - categories = ["Office" "TextEditor" "Utility"]; - - mimeTypes = ["application/x-${name}"]; - }; in { packages.${system} = { - default = pkgs.appimageTools.wrapType1 { + default = pkgs.appimageTools.wrapType2 { inherit name; - src = appimage; + src = appImage; - extraInstallCommands = '' + extraInstallCommands = let + contents = pkgs.appimageTools.extract { + src = appImage; + pname = name; + inherit version; + }; + in '' # Install .desktop file - mkdir -p $out/share/ - ln -s "${desktopItem}/share/applications" $out/share/applications + mkdir -p $out/share/applications + cp ${contents}/${name}.desktop $out/share/applications # Install icons - for dimension in 128 256 512; do - dimensions=''${dimension}x''${dimension} - - mkdir -p $out/share/icons/hicolor/$dimensions/apps - "${pkgs.imagemagick}/bin/convert" ${icon} -resize $dimensions $out/share/icons/hicolor/$dimensions/apps/${name}.png - done + mkdir -p $out/share + cp -r ${contents}/share/icons $out/share ''; }; }; @@ -65,7 +47,7 @@ apps.${system} = { dev = { program = "${pkgs.writeShellScript "download-appimage" '' - ${pkgs.curl}/bin/curl ${appimage.url} -Lo ${name}.AppImage + ${pkgs.curl}/bin/curl ${appImage.url} -Lo ${name}.AppImage ''}"; type = "app"; };