1.9 KiB
1.9 KiB
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
cd pixlit-nix
nix-build
./result/bin/pixlit
Installing into your profile
nix-env -f . -i
pixlit
NixOS system package (flake or configuration.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
- Launch Pixlit
- Click Choose Files… or drag images onto the drop zone
- Select your desired output format (JPEG / PNG / WebP)
- Adjust the quality slider
- Choose where to save converted files
- Click Convert Images
License
MIT — see default.nix meta block.