From 429a135854f6e35908ff872786b34941d3068c0d Mon Sep 17 00:00:00 2001 From: Aaron VerDow Date: Mon, 17 Feb 2025 18:17:06 -0600 Subject: [PATCH 1/2] numworks-epsilon: add .desktop file --- pkgs/by-name/nu/numworks-epsilon/numworks.svg | 4 +++ pkgs/by-name/nu/numworks-epsilon/package.nix | 27 ++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/nu/numworks-epsilon/numworks.svg diff --git a/pkgs/by-name/nu/numworks-epsilon/numworks.svg b/pkgs/by-name/nu/numworks-epsilon/numworks.svg new file mode 100644 index 000000000000..0184a5fc0fa4 --- /dev/null +++ b/pkgs/by-name/nu/numworks-epsilon/numworks.svg @@ -0,0 +1,4 @@ + + + + diff --git a/pkgs/by-name/nu/numworks-epsilon/package.nix b/pkgs/by-name/nu/numworks-epsilon/package.nix index 337322bfb039..57a5a83d1be1 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,28 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp -r ./output/release/simulator/linux/* $out/bin/ + # To build this svg: + # copy white path from ion/src/simulator/assets/icon_mask.svg + # paste into ion/src/simulator/assets/logo.svg and change fill to #edb14b + install -Dm644 ${./numworks.svg} $out/share/icons/hicolor/scalable/apps/numworks.svg + 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/"; From 5c6903ea024a19d4911fab1ba8c92769d3b3dac7 Mon Sep 17 00:00:00 2001 From: Aaron VerDow Date: Fri, 14 Mar 2025 11:05:53 -0500 Subject: [PATCH 2/2] numworks-epsilon: build logo from source --- pkgs/by-name/nu/numworks-epsilon/numworks.svg | 4 ---- pkgs/by-name/nu/numworks-epsilon/package.nix | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) delete mode 100644 pkgs/by-name/nu/numworks-epsilon/numworks.svg diff --git a/pkgs/by-name/nu/numworks-epsilon/numworks.svg b/pkgs/by-name/nu/numworks-epsilon/numworks.svg deleted file mode 100644 index 0184a5fc0fa4..000000000000 --- a/pkgs/by-name/nu/numworks-epsilon/numworks.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/pkgs/by-name/nu/numworks-epsilon/package.nix b/pkgs/by-name/nu/numworks-epsilon/package.nix index 57a5a83d1be1..4280eb9ab4f8 100644 --- a/pkgs/by-name/nu/numworks-epsilon/package.nix +++ b/pkgs/by-name/nu/numworks-epsilon/package.nix @@ -53,10 +53,20 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp -r ./output/release/simulator/linux/* $out/bin/ - # To build this svg: - # copy white path from ion/src/simulator/assets/icon_mask.svg - # paste into ion/src/simulator/assets/logo.svg and change fill to #edb14b - install -Dm644 ${./numworks.svg} $out/share/icons/hicolor/scalable/apps/numworks.svg + # 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 '';