Want to contribute? Fork me on Codeberg.org!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.5 KiB

{ lib
, fetchzip
, appimageTools
, makeDesktopItem
}:
let
pname = "fantasia-archive";
version = "0.1.10";
archive = fetchzip {
url = "https://github.com/Elvanos/fantasia-archive/releases/download/v${version}/Fantasia.Archive-${version}-linux-appImage.zip";
hash = "sha256-Ls+7wmj2qFoppiHJwt9Uan+9irFvzHxEWjIWrA9Nw2w=";
};
src = "${archive}/Fantasia.Archive-${version}-linux-appImage.AppImage";
appimageContents = appimageTools.extractType2 {
inherit pname src version;
};
description = "100% free, powerful & feature-rich offline worldbuilding tool that runs on your computer!";
desktopItem = makeDesktopItem {
name = pname;
exec = "sh -c \"${pname} || ${pname} --disable-gpu-sandbox\"";
icon = "${appimageContents}/fantasiaarchive.png";
comment = description;
desktopName = "Fantasia Archive";
genericName = "A database manager for world building";
categories = [ "Office" ];
};
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/${pname}.desktop $out/share/applications/${pname}.desktop
cd $out/bin
mv fantasia-archive-${version} ${pname}
'';
meta = with lib; {
inherit description;
homepage = "https://fantasiaarchive.com/";
license = licenses.gpl3;
maintainers = with maintainers; [ elnudev ];
platforms = [ "x86_64-linux" ];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
}