ubuntu.sh takes Ubuntu 24.04 and its derivatives alone, since the DEB names 24.04's t64 libraries. nixos.sh installs the newest release's tag, not main. The release workflow refuses a tag that names another version than the build files, and runs on the Node 24 actions. DistortTests pins Swift's division by w past the horizon. Co-Authored-By: Claude <noreply@anthropic.com>
OmaPhoto
OmaPhoto is a layered image editor for Linux, made first for Omarchy. It follows your Omarchy theme and switches with it.
It is a Linux port of Compositor by Wonder Assembly, a macOS app written in Swift. Compositor's source is the specification: OmaPhoto keeps its tools, its menus and its shortcuts (Ctrl for ⌘, Alt for ⌥). It reads and writes Compositor's .comp projects, so a project moves between the two apps. OmaPhoto is independent of Wonder Assembly.
What it does
- Layers, folders, masks, clipping masks, blend modes and opacity
- Selections: marquee, lasso, magic wand, load from a layer, expand and contract
- Brush, eraser, spot healing, clone stamp, smudge, blur and liquify, gradient, shapes, type
- Move, transform and distort layers and selections
- Levels, Curves, Hue/Saturation, Exposure, Gradient Map and Grain, as edits or as adjustment layers
- Layer effects: stroke, drop shadow, color overlay, inner shadow
- Filters: Gaussian and motion blur, noise, lens correction, Content-Aware Fill and Remove Background (U²-Net on ONNX Runtime, offline)
- Crop, canvas size, image size; PNG and JPEG export
- Imports JPEG, PNG, TIFF and HEIC
Install
Each script installs the newest release. The Arch, Ubuntu and Fedora scripts download its package, check it against the release's SHA256SUMS and install it with your system's package manager; the NixOS script builds the release's flake. Packages are built for x86_64.
Arch and Omarchy:
curl -fsSLO https://raw.githubusercontent.com/ZacharyZhang-NY/OmaPhoto/main/scripts/install/arch.sh && bash arch.sh
Ubuntu 24.04 LTS and systems built on it (Linux Mint 22, Pop!_OS 24.04):
curl -fsSLO https://raw.githubusercontent.com/ZacharyZhang-NY/OmaPhoto/main/scripts/install/ubuntu.sh && bash ubuntu.sh
The DEB names Ubuntu 24.04's libraries, so later Ubuntu releases and Debian build from source (below).
Fedora:
curl -fsSLO https://raw.githubusercontent.com/ZacharyZhang-NY/OmaPhoto/main/scripts/install/fedora.sh && bash fedora.sh
Fedora's own libheif decodes no HEVC. For HEIC import, add RPM Fusion and install libheif-freeworld; the script reminds you.
NixOS installs the release's flake into your profile:
curl -fsSLO https://raw.githubusercontent.com/ZacharyZhang-NY/OmaPhoto/main/scripts/install/nixos.sh && bash nixos.sh
Or add github:ZacharyZhang-NY/OmaPhoto/<tag>, a release tag, as a flake input and put its packages.x86_64-linux.default in your configuration.
The packages themselves sit on the releases page.
Build from source
The build runs in Docker, so the host needs only Docker:
scripts/dev.sh build # configure and build in Ubuntu 24.04
scripts/dev.sh test # every test, headless
scripts/dev.sh run # the app on your Wayland display
By hand: C++20, Qt 6.4 or later (Widgets, Concurrent, image formats), CMake, Ninja, libheif, fontconfig and ONNX Runtime. -DOMAPHOTO_MODEL=path/to/u2net.onnx installs Remove Background's model. scripts/distro-check.sh arch|fedora|nixos builds and tests on those systems.
Licence
MIT, as Compositor is; see LICENSE. Remove Background uses U²-Net (Apache-2.0, licenses/U-2-Net.txt) through ONNX Runtime (MIT). The Ubuntu package carries ONNX Runtime with its notices.