lens

lens is the lensOS package manager. It installs from the Arch repositories, the lensOS repository, the AUR and Flathub with one command, and takes a Btrfs snapshot before every update so a bad update can be rolled back. It's written in Rust on libalpm, the library pacman itself is built on: it uses the same configuration, mirrors, keyring, hooks and package database, so pacman and AUR helpers keep working next to it.

What it does

  • One command, three sources. Repos first, then the AUR, then Flatpak app IDs.
  • A snapshot before every update. On Btrfs (the installer's default). One lens rollback and a restart undo a bad update.
  • Arch news first. New manual-intervention notices from archlinux.org are shown before updating.
  • Safe to interrupt. Downloads come first and can be cancelled; the install step ignores Ctrl+C.
  • Careful with the AUR. It offers the PKGBUILD for review and builds as your user, never as root.

Example

$ lens update
 lens · update
 · no new arch news since your last update
 arch     firefox        157.0-1 → 157.0.1-1
 lensos   lens           0.1.2-1 → 0.1.3-1
 aur      yay-bin        12.5.1-1 → 12.5.2-1
 · 3 updates · 58.2 MiB to download
 ? update now? [Y/n] y
 ✓ snapshot lens-2026-10-07_19-02-11-pre-update (lens rollback can restore it)
 ✓ downloaded 2 (58.2 MiB)
 ✓ updated
 ✓ built and installed yay-bin 12.5.2-1 from the AUR

Commands

lens install <name>install from the Arch and lensOS repos, falling back to the AUR; Flatpak app IDs work too
lens remove <name>remove a package and the dependencies nothing else needs
lens updatecheck Arch news, take a snapshot, update repo packages, AUR packages and Flatpaks
lens search <term>search the repos, the AUR and Flathub at once
lens info <name>show details about a package
lens listlist what you installed (--all for everything, --aur for AUR packages)
lens autoremoveremove dependencies nothing needs anymore
lens cleanremove old package files, and systems a rollback replaced
lens newsshow the latest Arch Linux news
lens snapshot [label]take a Btrfs snapshot now
lens snapshotslist snapshots
lens rollback <snapshot>restore a snapshot (after a restart)
lens channel [stable|testing]show or switch the lensOS repository channel

Commands that change the system ask for your password through sudo. -y takes the default answer to every question.

Configuration

Settings are in /etc/lens/lens.conf (channel, AUR, Flatpak, news check, snapshots). Repositories, mirrors and ignored packages stay in /etc/pacman.conf, shared with pacman. The full reference is in the lens documentation.