From 2411f10a567f5c1a17b5b552804afab43c126010 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Sun, 9 Mar 2025 13:36:18 -0400 Subject: [PATCH 1/2] podman-desktop: add podman to PATH Otherwise, the basic app functionality - managing containers - requires a manual configuration of the path to the podman binary. Signed-off-by: Ihar Hrachyshka --- pkgs/by-name/po/podman-desktop/package.nix | 55 +++++++++++++--------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index c372014a9642..bed98f8c6049 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -15,10 +15,12 @@ nix, jq, gnugrep, + podman, }: let electron = electron_37; + appName = "Podman Desktop"; in stdenv.mkDerivation (finalAttrs: { pname = "podman-desktop"; @@ -72,6 +74,7 @@ stdenv.mkDerivation (finalAttrs: { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; nativeBuildInputs = [ + makeWrapper nodejs pnpm_10.configHook ] @@ -103,29 +106,39 @@ stdenv.mkDerivation (finalAttrs: { runHook postBuild ''; - installPhase = '' - runHook preInstall + installPhase = + let + commonWrapperArgs = "--prefix PATH : ${lib.makeBinPath [ podman ]}"; + in + ( + '' + runHook preInstall - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Applications - mv dist/mac*/Podman\ Desktop.app $out/Applications - '' - + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - mkdir -p "$out/share/lib/podman-desktop" - cp -r dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/podman-desktop" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$out/Applications" + mv dist/mac*/"${appName}.app" "$out/Applications" - install -Dm644 buildResources/icon.svg "$out/share/icons/hicolor/scalable/apps/podman-desktop.svg" + wrapProgram "$out/Applications/${appName}.app/Contents/MacOS/${appName}" \ + ${commonWrapperArgs} + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + mkdir -p "$out/share/lib/podman-desktop" + cp -r dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/podman-desktop" - makeWrapper '${electron}/bin/electron' "$out/bin/podman-desktop" \ - --add-flags "$out/share/lib/podman-desktop/resources/app.asar" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - --inherit-argv0 - '' - + '' + install -Dm644 buildResources/icon.svg "$out/share/icons/hicolor/scalable/apps/podman-desktop.svg" - runHook postInstall - ''; + makeWrapper '${electron}/bin/electron' "$out/bin/podman-desktop" \ + --add-flags "$out/share/lib/podman-desktop/resources/app.asar" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + ${commonWrapperArgs} \ + --inherit-argv0 + '' + + '' + + runHook postInstall + '' + ); # see: https://github.com/containers/podman-desktop/blob/main/.flatpak.desktop desktopItems = [ @@ -133,11 +146,11 @@ stdenv.mkDerivation (finalAttrs: { name = "podman-desktop"; exec = "podman-desktop %U"; icon = "podman-desktop"; - desktopName = "Podman Desktop"; + desktopName = appName; genericName = "Desktop client for podman"; comment = finalAttrs.meta.description; categories = [ "Utility" ]; - startupWMClass = "Podman Desktop"; + startupWMClass = appName; }) ]; From 69e852f9d50860cab27866f0ba392c7a2514857e Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Sun, 10 Aug 2025 19:02:05 -0400 Subject: [PATCH 2/2] podman-desktop: remove @panda2134 from maintainers --- pkgs/by-name/po/podman-desktop/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index bed98f8c6049..9ede1352de4c 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -161,7 +161,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ booxter - panda2134 ]; inherit (electron.meta) platforms; mainProgram = "podman-desktop";