Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

88 lines
2.0 KiB
Nix

{
lib,
stdenv,
buildDotnetModule,
fetchFromGitHub,
dotnetCorePackages,
fontconfig,
glib,
libglvnd,
xorg,
makeWrapper,
makeDesktopItem,
copyDesktopItems,
nix-update-script,
}:
buildDotnetModule rec {
pname = "galaxy-buds-client";
version = "5.1.2";
src = fetchFromGitHub {
owner = "ThePBone";
repo = "GalaxyBudsClient";
tag = version;
hash = "sha256-ygxrtRapduvK7qAHZzdHnCijm8mcqOviMl2ddf9ge+Y=";
};
projectFile = [ "GalaxyBudsClient/GalaxyBudsClient.csproj" ];
nugetDeps = ./deps.json;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
dotnetFlags =
lib.optionals stdenv.hostPlatform.isx86_64 [ "-p:Runtimeidentifier=linux-x64" ]
++ lib.optionals stdenv.hostPlatform.isAarch64 [ "-p:Runtimeidentifier=linux-arm64" ];
nativeBuildInputs = [
makeWrapper
copyDesktopItems
];
buildInputs = [
(lib.getLib stdenv.cc.cc)
fontconfig
];
runtimeDeps = [
libglvnd
xorg.libSM
xorg.libICE
xorg.libX11
];
postFixup = ''
wrapProgram "$out/bin/GalaxyBudsClient" \
--prefix PATH : ${glib.bin}/bin
mkdir -p $out/share/icons/hicolor/256x256/apps/
cp -r $src/GalaxyBudsClient/Resources/icon.png $out/share/icons/hicolor/256x256/apps/${meta.mainProgram}.png
'';
desktopItems = [
(makeDesktopItem {
name = meta.mainProgram;
exec = meta.mainProgram;
icon = meta.mainProgram;
desktopName = meta.mainProgram;
genericName = "Galaxy Buds Client";
comment = meta.description;
type = "Application";
categories = [ "Settings" ];
startupNotify = true;
})
];
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Unofficial Galaxy Buds Manager";
homepage = "https://github.com/ThePBone/GalaxyBudsClient";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ icy-thought ];
platforms = lib.platforms.linux;
mainProgram = "GalaxyBudsClient";
};
}