nixpkgs/pkgs/by-name/lu/lumafly/package.nix
2024-05-03 09:10:38 -04:00

76 lines
1.4 KiB
Nix

{
lib,
fetchFromGitHub,
buildDotnetModule,
dotnetCorePackages,
zlib,
icu,
fontconfig,
openssl,
libX11,
libICE,
libSM,
icoutils,
copyDesktopItems,
makeDesktopItem,
}:
buildDotnetModule rec {
pname = "lumafly";
version = "3.2.0.0";
src = fetchFromGitHub {
owner = "TheMulhima";
repo = "lumafly";
rev = "v${version}";
hash = "sha256-oDSM5Ev9SCjbvCgDZcpzm2bVnzG04yy/WaSwJyh0b18=";
};
projectFile = "Lumafly/Lumafly.csproj";
nugetDeps = ./deps.nix;
dotnet-sdk = dotnetCorePackages.sdk_7_0;
selfContainedBuild = true;
runtimeDeps = [
zlib
icu
fontconfig
openssl
libX11
libICE
libSM
];
nativeBuildInputs = [
icoutils
copyDesktopItems
];
postFixup = ''
# Icon for the desktop file
icotool -x $src/Lumafly/Assets/Lumafly.ico
install -D Lumafly_1_32x32x32.png $out/share/icons/hicolor/32x32/apps/lumafly.png
'';
desktopItems = [(makeDesktopItem {
desktopName = "Lumafly";
name = "lumafly";
exec = "Lumafly";
icon = "lumafly";
comment = meta.description;
type = "Application";
categories = [ "Game" ];
})];
meta = {
description = "A cross platform mod manager for Hollow Knight written in Avalonia";
homepage = "https://themulhima.github.io/Lumafly/";
license = lib.licenses.gpl3Plus;
mainProgram = "Lumafly";
maintainers = with lib.maintainers; [ rohanssrao ];
platforms = lib.platforms.linux;
};
}