nixpkgs/pkgs/by-name/mi/mixxc/package.nix

65 lines
1.3 KiB
Nix

{
lib,
rustPlatform,
fetchCrate,
pkg-config,
libpulseaudio,
gtk4-layer-shell,
gtk4,
wrapGAppsHook4,
libxcb,
installShellFiles,
enableWayland ? true,
enableSass ? true,
enableX11 ? true,
}:
rustPlatform.buildRustPackage rec {
pname = "mixxc";
version = "0.2.2";
src = fetchCrate {
pname = "mixxc";
inherit version;
hash = "sha256-Y/9l8t6Vz7yq9T1AyoHnWmIcju1rfcV0S74hiK1fEjo=";
};
cargoHash = "sha256-l9inqqUiLObrqd/8pNobwBbLaiPJD39YK/38CWfDh+Q=";
cargoBuildFlags = [ "--locked" ];
buildFeatures = with lib; [
(optionals enableWayland "Wayland")
(optionals enableX11 "X11")
(optionals enableSass "Sass")
];
nativeBuildInputs = [
pkg-config
installShellFiles
wrapGAppsHook4
];
buildInputs = with lib; [
libpulseaudio
gtk4
(optionals enableWayland gtk4-layer-shell)
(optionals enableX11 libxcb)
];
outputs = [
"out"
"man"
];
postInstall = ''
installManPage $src/doc/mixxc.1
'';
meta = with lib; {
description = "A minimalistic and customizable volume mixer";
homepage = "https://github.com/Elvyria/mixxc";
license = with licenses; [ mit ];
maintainers = with maintainers; [ daru-san ];
mainProgram = "mixxc";
platforms = platforms.linux;
};
}