podman-desktop: add podman to PATH (#388478)

This commit is contained in:
Peder Bergebakken Sundt
2025-08-21 00:09:34 +02:00
committed by GitHub
+34 -22
View File
@@ -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;
})
];
@@ -148,7 +161,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
booxter
panda2134
];
inherit (electron.meta) platforms;
mainProgram = "podman-desktop";