nixpkgs/pkgs/by-name/mi/mixxc/package.nix
2024-04-28 08:38:55 -03:00

67 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 = [
(lib.optionals enableWayland "Wayland")
(lib.optionals enableX11 "X11")
(lib.optionals enableSass "Sass")
];
nativeBuildInputs = [
pkg-config
installShellFiles
wrapGAppsHook4
];
buildInputs = [
libpulseaudio
gtk4
(lib.optionals enableWayland gtk4-layer-shell)
(lib.optionals enableX11 libxcb)
];
outputs = [
"out"
"man"
];
postInstall = ''
installManPage $src/doc/mixxc.1
'';
meta = {
description = "A minimalistic and customizable volume mixer";
homepage = "https://github.com/Elvyria/mixxc";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ daru-san ];
mainProgram = "mixxc";
platforms = lib.platforms.linux;
};
}