{ lib, stdenv, fetchFromGitHub, cargo, glib, meson, ninja, pkg-config, rustPlatform, rustc, wrapGAppsHook4, gdk-pixbuf, gtk4, libadwaita, libsecret, openssl, sqlite, darwin, gettext, }: stdenv.mkDerivation rec { pname = "done"; version = "0.2.2"; src = fetchFromGitHub { owner = "done-devs"; repo = "done"; rev = "v${version}"; hash = "sha256-SbeP7PnJd7jjdXa9uDIAlMAJLOrYHqNP5p9gQclb6RU="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; hash = "sha256-YJJGQR1tkK5z7vQQgkd8xPSqYhtiZIN+s9Xnwjn0z5A="; }; nativeBuildInputs = [ cargo glib meson ninja pkg-config rustPlatform.cargoSetupHook rustc wrapGAppsHook4 ]; buildInputs = [ gdk-pixbuf gtk4 libadwaita libsecret openssl sqlite ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.AppKit ]; env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { GETTEXT_DIR = gettext; }; meta = with lib; { description = "Ultimate task management solution for seamless organization and efficiency"; homepage = "https://done.edfloreshz.dev/"; changelog = "https://github.com/done-devs/done/blob/${src.rev}/CHANGES.md"; license = licenses.mpl20; mainProgram = "done"; maintainers = with maintainers; [ figsoda ]; }; }