diff --git a/pkgs/by-name/nu/numworks-epsilon/package.nix b/pkgs/by-name/nu/numworks-epsilon/package.nix index 337322bfb039..4280eb9ab4f8 100644 --- a/pkgs/by-name/nu/numworks-epsilon/package.nix +++ b/pkgs/by-name/nu/numworks-epsilon/package.nix @@ -11,6 +11,8 @@ gcc-arm-embedded, pkg-config, python3Packages, + makeDesktopItem, + copyDesktopItems, }: stdenv.mkDerivation rec { @@ -24,7 +26,11 @@ stdenv.mkDerivation rec { hash = "sha256-w9ddcULE1MrGnYcXA0qOg1elQv/eBhcXqhMSjWT3Bkk="; }; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + pkg-config + copyDesktopItems + ]; + buildInputs = [ libpng libjpeg @@ -47,9 +53,38 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp -r ./output/release/simulator/linux/* $out/bin/ + # Build the logo + assets="$src/ion/src/simulator/assets" + logo_dir="$out/share/icons/hicolor/scalable/apps" + logo="$logo_dir/numworks.svg" + mkdir -p "$logo_dir" + + # Take opening svg tag + grep ' "$logo" + + # Insert path from logo mask and change color + grep path "$assets/icon_mask.svg" | sed 's/fill="[^"]*"/fill="#edb14b"/' >> "$logo" + + # Add remainder of logo + grep -v '> "$logo" + runHook postInstall ''; + desktopItems = [ + (makeDesktopItem { + name = "epsilon"; + exec = "epsilon"; + icon = "numworks"; + desktopName = "NumWorks Epsilon Calculator"; + categories = [ + "Utility" + "Math" + ]; + type = "Application"; + }) + ]; + meta = with lib; { description = "Simulator for Epsilon, a High-performance graphing calculator operating system"; homepage = "https://numworks.com/";