diff --git a/pkgs/tools/misc/fend/default.nix b/pkgs/tools/misc/fend/default.nix index e0f208c2a56..7caff952372 100644 --- a/pkgs/tools/misc/fend/default.nix +++ b/pkgs/tools/misc/fend/default.nix @@ -5,6 +5,9 @@ , darwin , pandoc , installShellFiles +, copyDesktopItems +, makeDesktopItem +, nix-update-script }: rustPlatform.buildRustPackage rec { @@ -20,7 +23,7 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-mRIwmZwO/uqfUJ12ZYKZFPoefvo055Tp+DrfKsoP9q4="; - nativeBuildInputs = [ pandoc installShellFiles ]; + nativeBuildInputs = [ pandoc installShellFiles copyDesktopItems ]; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; postBuild = '' @@ -38,10 +41,30 @@ rustPlatform.buildRustPackage rec { [[ "$($out/bin/fend "1 km to m")" = "1000 m" ]] ''; + postInstall = '' + install -D -m 444 $src/icon/fend-icon-256.png $out/share/icons/hicolor/256x256/apps/fend.png + ''; + + desktopItems = [ + (makeDesktopItem { + name = "fend"; + desktopName = "fend"; + genericName = "Calculator"; + comment = "Arbitrary-precision unit-aware calculator"; + icon = "fend"; + exec = "fend"; + terminal = true; + categories = [ "Utility" "Calculator" "ConsoleOnly" ]; + }) + ]; + + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "Arbitrary-precision unit-aware calculator"; homepage = "https://github.com/printfn/fend"; license = licenses.mit; - maintainers = with maintainers; [ djanatyn ]; + maintainers = with maintainers; [ djanatyn liff ]; + mainProgram = "fend"; }; }