disktree: init at 0.10.1

Package the latest GPUI disk usage treemap release with desktop integration.

Release notes: https://github.com/tobi/disktree/releases/tag/v0.10.1

Assisted-by: Codex (GPT-6)
This commit is contained in:
Domen Kožar
2026-09-25 14:21:57 +02:00
parent 3d663a0575
commit c4878dda49

View File

@@ -0,0 +1,85 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
desktop-file-utils,
makeBinaryWrapper,
fontconfig,
freetype,
libGL,
libxcb,
libxkbcommon,
openssl,
vulkan-loader,
wayland,
gitMinimal,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "disktree";
version = "0.10.1";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "tobi";
repo = "disktree";
tag = "v${finalAttrs.version}";
hash = "sha256-HoJjSLQeLEK20SpEd40DakAwV6WTdtcWM779YCjI3Jk=";
};
cargoHash = "sha256-+IG75eHRo1+4Sg5dq+b77UWYLKQlqPH30WtAnND/Cbk=";
nativeBuildInputs = [
pkg-config
desktop-file-utils
makeBinaryWrapper
];
buildInputs = [
fontconfig
freetype
libGL
libxcb
libxkbcommon
openssl
vulkan-loader
wayland
];
cargoBuildFlags = [ "--package=disktree-app" ];
cargoTestFlags = [ "--package=disktree-core" ];
postInstall = ''
install -Dm644 assets/disktree.svg \
"$out/share/icons/hicolor/scalable/apps/disktree.svg"
install -d "$out/share/applications"
substitute packaging/disktree.desktop.in \
"$out/share/applications/disktree.desktop" \
--replace-fail '@BINDIR@' "$out/bin" \
--replace-fail '@VERSION@' '${finalAttrs.version}'
desktop-file-validate "$out/share/applications/disktree.desktop"
'';
postFixup = ''
patchelf "$out/bin/disktree" --add-rpath ${
lib.makeLibraryPath [
libGL
vulkan-loader
wayland
]
}
wrapProgram "$out/bin/disktree" \
--prefix PATH : ${lib.makeBinPath [ gitMinimal ]}
'';
meta = {
description = "Disk usage treemap for finding and removing files";
homepage = "https://github.com/tobi/disktree";
changelog = "https://github.com/tobi/disktree/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ domenkozar ];
mainProgram = "disktree";
platforms = lib.platforms.linux;
};
})