nixpkgs/pkgs/by-name/ea/earbuds/package.nix
2024-11-04 13:14:36 +01:00

78 lines
1.8 KiB
Nix

{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
installShellFiles,
nix-update-script,
pkg-config,
dbus,
libpulseaudio,
bluez,
}:
rustPlatform.buildRustPackage {
pname = "earbuds";
version = "0.1.9-unstable-2024-06-28";
src = fetchFromGitHub {
owner = "JojiiOfficial";
repo = "LiveBudsCli";
rev = "df46706e44fa9e7de355b11eab4cc850efe968a3";
hash = "sha256-IEor7aZnwCA6Rg2gXIYSQ65hV/jJOKehujOSZnVzVis=";
};
# fix daemon autostart not working
patches = [
./fix-daemon.patch
];
# git dependencies are currently not supported in the fixed-output derivation fetcher.
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"galaxy_buds_rs-0.2.10" = "sha256-95PBmGwHJiXi72Rir8KK7as+i9yjs5nf45SaBhj1geg=";
};
};
nativeBuildInputs = [
pkg-config
installShellFiles
];
buildInputs = [
dbus
libpulseaudio
bluez
];
# package does not contain any tests
doCheck = false;
# nativeInstallCheckInputs = [
# versionCheckHook
# ];
# versionCheckProgramArg = [ "--version" ];
# doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd earbuds \
--bash <($out/bin/earbuds --generate bash) \
--fish <($out/bin/earbuds --generate fish) \
--zsh <($out/bin/earbuds --generate zsh)
'';
meta = {
description = "Free CLI tool to control your Galaxy Buds";
homepage = "https://github.com/JojiiOfficial/LiveBudsCli";
changelog = "https://github.com/JojiiOfficial/LiveBudsCli/releases";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ griffi-gh ];
mainProgram = "earbuds";
platforms = lib.platforms.linux;
};
}