From b0d72a85e98ecf114192e21125be4a301d4e1ea2 Mon Sep 17 00:00:00 2001 From: kaynetik Date: Sun, 31 May 2026 07:14:01 +0200 Subject: [PATCH 1/2] podman-desktop: switch pnpm pin back to `pnpm_10` The hard pin to pnpm_10_29_2 worked around a lockfile regression in pnpm 10.29.3+ that broke electron-builder. electron-builder fixed it in 26.8.2, which podman-desktop has shipped since 1.26.0, so pnpm_10 builds cleanly on the current 1.27.2 tree. Switch the pin back to pnpm_10 and re-enable the pnpm bump in the update script. Signed-off-by: kaynetik --- pkgs/by-name/po/podman-desktop/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index 788abd836c83..1e930b4c8e1a 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -6,7 +6,7 @@ copyDesktopItems, electron_41, nodejs-slim_24, - pnpm_10_29_2, + pnpm_10, fetchPnpmDeps, pnpmConfigHook, makeDesktopItem, @@ -22,7 +22,7 @@ let nodejs-slim = nodejs-slim_24; - pnpm = pnpm_10_29_2.override { inherit nodejs-slim; }; + pnpm = pnpm_10.override { inherit nodejs-slim; }; electron = electron_41; appName = "Podman Desktop"; in From 7a77089c8fc2908a856d64727017f1b74cab8126 Mon Sep 17 00:00:00 2001 From: kaynetik Date: Sun, 31 May 2026 07:24:41 +0200 Subject: [PATCH 2/2] podman-desktop: derive .desktop entry from upstream .flatpak.desktop Install the upstream .flatpak.desktop directly instead of hand-maintaining a makeDesktopItem, rewriting only the launcher command and icon name and dropping the X-Flatpak key. This keeps Categories and Keywords aligned with upstream and prevents them from regressing. The --replace-fail patterns fail the build if upstream renames those lines. Signed-off-by: kaynetik --- pkgs/by-name/po/podman-desktop/package.nix | 26 ++++++---------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index 1e930b4c8e1a..40d117964a87 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -3,13 +3,11 @@ stdenv, fetchFromGitHub, makeBinaryWrapper, - copyDesktopItems, electron_41, nodejs-slim_24, pnpm_10, fetchPnpmDeps, pnpmConfigHook, - makeDesktopItem, darwin, nix-update-script, _experimental-update-script-combinators, @@ -96,9 +94,6 @@ stdenv.mkDerivation (finalAttrs: { pnpm pnpmConfigHook ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - copyDesktopItems - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.autoSignDarwinBinariesHook ]; @@ -147,6 +142,13 @@ stdenv.mkDerivation (finalAttrs: { install -Dm644 buildResources/icon.svg "$out/share/icons/hicolor/scalable/apps/podman-desktop.svg" + # Derive the .desktop entry from upstream to keep it aligned and avoid regressions. + install -Dm644 .flatpak.desktop "$out/share/applications/podman-desktop.desktop" + substituteInPlace "$out/share/applications/podman-desktop.desktop" \ + --replace-fail 'Exec=run.sh %U' 'Exec=podman-desktop %U' \ + --replace-fail 'Icon=io.podman_desktop.PodmanDesktop' 'Icon=podman-desktop' + sed -i '/^X-Flatpak=/d' "$out/share/applications/podman-desktop.desktop" + makeWrapper '${electron}/bin/electron' "$out/bin/podman-desktop" \ --add-flags "$out/share/lib/podman-desktop/resources/app.asar" \ --set XDG_SESSION_TYPE 'x11' \ @@ -159,20 +161,6 @@ stdenv.mkDerivation (finalAttrs: { '' ); - # see: https://github.com/podman-desktop/podman-desktop/blob/main/.flatpak.desktop - desktopItems = [ - (makeDesktopItem { - name = "podman-desktop"; - exec = "podman-desktop %U"; - icon = "podman-desktop"; - desktopName = appName; - genericName = "Desktop client for podman"; - comment = finalAttrs.meta.description; - categories = [ "Utility" ]; - startupWMClass = appName; - }) - ]; - meta = { description = "Graphical tool for developing on containers and Kubernetes"; homepage = "https://podman-desktop.io";