# Pixlit — Image Converter A clean GTK4/libadwaita desktop application for converting images between formats, with first-class support for HEIC/HEIF files from iPhones and modern cameras. ## Features - **HEIC / HEIF → JPEG, PNG, WebP** (and vice-versa) - Supports: HEIC, HEIF, JPEG, PNG, WebP, BMP, TIFF, GIF as inputs - Output formats: **JPEG**, **PNG**, **WebP** - Quality slider (1–100) with per-format behaviour - Batch conversion — add as many files as you like - Drag-and-drop file support - Output directory picker - Progress tracking per file - Native GNOME look via libadwaita ## Building ### Quick local build ```bash cd pixlit-nix nix-build ./result/bin/pixlit ``` ### Installing into your profile ```bash nix-env -f . -i pixlit ``` ### NixOS system package (flake or configuration.nix) ```nix # configuration.nix environment.systemPackages = [ (pkgs.callPackage /path/to/pixlit-nix {}) ]; ``` ## Requirements (handled automatically by Nix) | Dependency | Purpose | |---|---| | Python 3 | Runtime | | Pillow | Image decoding/encoding | | pillow-heif (via Pillow HEIC plugin) | HEIC/HEIF support | | PyGObject | GTK4 + GLib bindings | | GTK 4 | Widget toolkit | | libadwaita | GNOME HIG widgets | | gobject-introspection | GObject type system | ## File Layout ``` pixlit-nix/ ├── default.nix ← Nix derivation ├── pixlit.py ← Application source (GTK4/libadwaita) ├── pixlit.svg ← Scalable app icon ├── pixlit.png ← 512×512 icon ├── pixlit-512.png ← 512×512 icon ├── pixlit-256.png ← 256×256 icon ├── pixlit-128.png ← 128×128 icon └── README.md ← This file ``` ## Usage 1. Launch Pixlit 2. Click **Choose Files…** or drag images onto the drop zone 3. Select your desired output format (JPEG / PNG / WebP) 4. Adjust the quality slider 5. Choose where to save converted files 6. Click **Convert Images** ## License MIT — see `default.nix` meta block.