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

authored by Peder Bergebakken Sundt and committed by GitHub 5a7798a7 f18d251f

+34 -22
+34 -22
pkgs/by-name/po/podman-desktop/package.nix
··· 15 15 nix, 16 16 jq, 17 17 gnugrep, 18 + podman, 18 19 }: 19 20 20 21 let 21 22 electron = electron_37; 23 + appName = "Podman Desktop"; 22 24 in 23 25 stdenv.mkDerivation (finalAttrs: { 24 26 pname = "podman-desktop"; ··· 72 74 ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; 73 75 74 76 nativeBuildInputs = [ 77 + makeWrapper 75 78 nodejs 76 79 pnpm_10.configHook 77 80 ] ··· 103 106 runHook postBuild 104 107 ''; 105 108 106 - installPhase = '' 107 - runHook preInstall 109 + installPhase = 110 + let 111 + commonWrapperArgs = "--prefix PATH : ${lib.makeBinPath [ podman ]}"; 112 + in 113 + ( 114 + '' 115 + runHook preInstall 108 116 109 - '' 110 - + lib.optionalString stdenv.hostPlatform.isDarwin '' 111 - mkdir -p $out/Applications 112 - mv dist/mac*/Podman\ Desktop.app $out/Applications 113 - '' 114 - + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' 115 - mkdir -p "$out/share/lib/podman-desktop" 116 - cp -r dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/podman-desktop" 117 + '' 118 + + lib.optionalString stdenv.hostPlatform.isDarwin '' 119 + mkdir -p "$out/Applications" 120 + mv dist/mac*/"${appName}.app" "$out/Applications" 117 121 118 - install -Dm644 buildResources/icon.svg "$out/share/icons/hicolor/scalable/apps/podman-desktop.svg" 122 + wrapProgram "$out/Applications/${appName}.app/Contents/MacOS/${appName}" \ 123 + ${commonWrapperArgs} 124 + '' 125 + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' 126 + mkdir -p "$out/share/lib/podman-desktop" 127 + cp -r dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/podman-desktop" 119 128 120 - makeWrapper '${electron}/bin/electron' "$out/bin/podman-desktop" \ 121 - --add-flags "$out/share/lib/podman-desktop/resources/app.asar" \ 122 - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ 123 - --inherit-argv0 124 - '' 125 - + '' 129 + install -Dm644 buildResources/icon.svg "$out/share/icons/hicolor/scalable/apps/podman-desktop.svg" 126 130 127 - runHook postInstall 128 - ''; 131 + makeWrapper '${electron}/bin/electron' "$out/bin/podman-desktop" \ 132 + --add-flags "$out/share/lib/podman-desktop/resources/app.asar" \ 133 + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ 134 + ${commonWrapperArgs} \ 135 + --inherit-argv0 136 + '' 137 + + '' 138 + 139 + runHook postInstall 140 + '' 141 + ); 129 142 130 143 # see: https://github.com/containers/podman-desktop/blob/main/.flatpak.desktop 131 144 desktopItems = [ ··· 133 146 name = "podman-desktop"; 134 147 exec = "podman-desktop %U"; 135 148 icon = "podman-desktop"; 136 - desktopName = "Podman Desktop"; 149 + desktopName = appName; 137 150 genericName = "Desktop client for podman"; 138 151 comment = finalAttrs.meta.description; 139 152 categories = [ "Utility" ]; 140 - startupWMClass = "Podman Desktop"; 153 + startupWMClass = appName; 141 154 }) 142 155 ]; 143 156 ··· 148 161 license = lib.licenses.asl20; 149 162 maintainers = with lib.maintainers; [ 150 163 booxter 151 - panda2134 152 164 ]; 153 165 inherit (electron.meta) platforms; 154 166 mainProgram = "podman-desktop";