{ lib , python3Packages , gobject-introspection , wrapGAppsHook4 , libadwaita , gtk4 , gdk-pixbuf }: python3Packages.buildPythonApplication { pname = "pixlit"; version = "1.0.0"; src = ./.; format = "other"; # plain script — no setup.py / pyproject.toml # No compile step needed for pure Python dontBuild = true; nativeBuildInputs = [ gobject-introspection wrapGAppsHook4 ]; buildInputs = [ gtk4 libadwaita gdk-pixbuf ]; propagatedBuildInputs = with python3Packages; [ pillow pillow-heif # registers HEIC/HEIF opener with Pillow pygobject3 ]; installPhase = '' runHook preInstall # ── Binary ─────────────────────────────────────────────────────────────── install -Dm755 pixlit.py $out/bin/pixlit # ── Icons ──────────────────────────────────────────────────────────────── install -Dm644 pixlit.svg \ $out/share/icons/hicolor/scalable/apps/pixlit.svg for size in 128 256 512; do install -Dm644 pixlit-''${size}.png \ $out/share/icons/hicolor/''${size}x''${size}/apps/pixlit.png done # ── Desktop entry ───────────────────────────────────────────────────────── install -Dm644 /dev/stdin $out/share/applications/pixlit.desktop <