diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/bo/boxbuddy/package.nix')
-rw-r--r-- | nixpkgs/pkgs/by-name/bo/boxbuddy/package.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/bo/boxbuddy/package.nix b/nixpkgs/pkgs/by-name/bo/boxbuddy/package.nix new file mode 100644 index 000000000000..7885d551a5a2 --- /dev/null +++ b/nixpkgs/pkgs/by-name/bo/boxbuddy/package.nix @@ -0,0 +1,61 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, wrapGAppsHook4 +, libadwaita +, distrobox +}: + +rustPlatform.buildRustPackage rec { + pname = "boxbuddy"; + version = "2.1.4"; + + src = fetchFromGitHub { + owner = "Dvlv"; + repo = "BoxBuddyRS"; + rev = version; + hash = "sha256-954jMFWSIDDqtMitgc8456SMcQLzi6LhLbVvOC45fxQ="; + }; + + cargoHash = "sha256-08d0mPSGYySxw2uq16MNOu2Y39kjqyfZ8rJ2yTOL3/w="; + + # The software assumes it is installed either in flatpak or in the home directory + # so the xdg data path needs to be patched here + postPatch = '' + substituteInPlace src/utils.rs \ + --replace-fail '{data_home}/locale' "$out/share/locale" \ + --replace-fail '{data_home}/icons/boxbuddy/{}' "$out/share/icons/boxbuddy/{}" + ''; + + nativeBuildInputs = [ + pkg-config + wrapGAppsHook4 + ]; + + buildInputs = [ + libadwaita + ]; + + postInstall = '' + cp icons/* ./ + XDG_DATA_HOME=$out/share INSTALL_DIR=$out ./scripts/install.sh + ''; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : ${lib.makeBinPath [ distrobox ]} + ) + ''; + + doCheck = false; # No checks defined + + meta = with lib; { + description = "An unofficial GUI for managing your Distroboxes, written with GTK4 + Libadwaita"; + homepage = "https://dvlv.github.io/BoxBuddyRS"; + license = licenses.mit; + mainProgram = "boxbuddy-rs"; + maintainers = with maintainers; [ aleksana ]; + platforms = platforms.linux; + }; +} |