diff --git a/pkgs/applications/audio/cavalier/default.nix b/pkgs/applications/audio/cavalier/default.nix new file mode 100644 index 000000000000..17fdabc5bc0d --- /dev/null +++ b/pkgs/applications/audio/cavalier/default.nix @@ -0,0 +1,68 @@ +{ lib +, python3 +, fetchFromGitHub +, meson +, ninja +, pkg-config +, gobject-introspection +, glib +, gtk4 +, librsvg +, libadwaita +, wrapGAppsHook4 +, appstream-glib +, desktop-file-utils +, cava +}: + +python3.pkgs.buildPythonApplication rec { + pname = "cavalier"; + version = "2023.01.29"; + format = "other"; + + src = fetchFromGitHub { + owner = "fsobolev"; + repo = pname; + rev = version; + hash = "sha256-6bvi73cFQHtIyD4d4+mqje0qkmG4wkahZ2ohda5RvRQ="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gobject-introspection + wrapGAppsHook4 + appstream-glib + desktop-file-utils + ]; + + buildInputs = [ + glib + gtk4 + librsvg + libadwaita + ]; + + propagatedBuildInputs = with python3.pkgs; [ + pygobject3 + ]; + + # Prevent double wrapping + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=( + "''${gappsWrapperArgs[@]}" + --prefix PATH ":" "${lib.makeBinPath [ cava ]}" + ) + ''; + + meta = with lib; { + description = "Audio visualizer based on CAVA with customizable LibAdwaita interface"; + homepage = "https://github.com/fsobolev/cavalier"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ zendo ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b69cda794f84..552d490d17a9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28470,6 +28470,8 @@ with pkgs; cava = callPackage ../applications/audio/cava { }; + cavalier = callPackage ../applications/audio/cavalier { }; + cb2bib = libsForQt5.callPackage ../applications/office/cb2bib { }; cbatticon = callPackage ../applications/misc/cbatticon { };