Omahub
← All plugins
P

iPhone

by Paolo Pellicori

Your iPhone on the bar: presence and battery at a glance, guided pairing (trust dialog included), and your camera roll one click away in the file manager. No jailbreak, no app on the phone.

Security review

Review recommended · 1 finding

Deterministic scan — not a security guarantee

Low
Risk level
Low
Analyzed commit
d79e8b2
Scanned
1 month ago

Flagged patterns appear only in documentation files (README / docs) — descriptive examples, not executable code.

  • Docs sudo README.md:77

    Command runs with sudo, elevating the process beyond the plugin environment.

    sudo pacman -Rns usbmuxd ifuse`.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
d79e8b2
Reviewed
1 month ago

The plugin is a transparent bar widget that interacts with iPhones over USB using standard libimobiledevice tools. It performs a one-time, user-initiated setup via pkexec to install missing packages, and all device operations are clearly documented and validated. The only flagged item is a sudo command in the README, which is documentation for manual removal and not executed by the plugin.

  • The plugin uses pkexec to install system packages (usbmuxd, ifuse, libimobiledevice, rsync) and restart usbmuxd; this is a privileged operation but is user-initiated via a clear button and described in the UI.
  • The README contains a `sudo pacman -Rns usbmuxd ifuse` command for manual removal; this is documentation only and not part of the plugin's executable code.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/dicemans/omarchy-plugin-iphone --enable
Hardware #bar #media #system

iPhone

Your iPhone on the Omarchy bar. Plug it in over USB and you get its battery at a glance and your camera roll one click away — browse it in your file manager, or import new photos to a folder on your computer. No jailbreak, no app on the phone.

The iPhone panel in the Omarchy bar

What it does

  • Battery in the bar. Once your iPhone is paired, its charge shows next to the bar icon — glance and go.
  • One-click setup. The first time, the panel offers to install the two system pieces it needs (usbmuxd, ifuse) and start them, behind a single password prompt. Nothing to configure by hand.
  • Guided pairing. Plug in, press Pair, and the panel walks you through it — "Unlock the iPhone and tap Trust", "Enter the passcode" — in plain words, never a cryptic error.
  • Open the camera roll. One click mounts the phone and opens its photos (DCIM) in your file manager, which already knows how to show HEIC. Eject from the same row when you're done.
  • Import photos, your way. Clicking import asks how far back to reach — the last 5 minutes, 24 hours, 7 days, or everything — and for All photos it shows the size and rough time before you commit. It copies only what isn't already there, so your folder stays safe to reorganize.

Choosing how far back to import

When an import finishes, a desktop notification tells you how many photos synced, how long it took, and where they landed — click it to open the folder.

First time: three steps

  1. Add the widget (see Install), open its panel, and plug your iPhone in with a USB cable.
  2. If the panel shows a Set up iPhone support button, click it once and enter your password — it installs and starts what's needed.
  3. Press Pair, then on the iPhone tap Trust and enter your passcode. That's it — battery appears in the bar and the photo buttons light up.

Pairing is a one-time thing; after that, plugging in just works.

Requirements

Dependency Needed for Notes
libimobiledevice talking to the iPhone Usually already installed.
usbmuxd the USB connection The panel installs and starts it for you.
ifuse opening the camera roll The panel installs it for you.
rsync importing photos The panel installs it for you.
xdg-open opening folders Present on any desktop.

Install

omarchy plugin add https://github.com/dicemans/omarchy-plugin-iphone.git --enable

The widget lands in the bar's right section. Move it with:

omarchy bar move io.github.dicemans.iphone --section left

Removal

omarchy plugin remove io.github.dicemans.iphone

That deletes the plugin and drops its entry from your shell config. It leaves your imported photos exactly where they are, and it never touched your containers, contacts, or anything on the phone. The two packages it offered to install (usbmuxd, ifuse) stay unless you remove them yourself with sudo pacman -Rns usbmuxd ifuse.

Keyboard & shortcuts

With the panel focused: arrows move, Enter activates (or presses the setup button), p opens photos on the selected device, r refreshes, Esc closes. In the import menu, up/down pick a window and Enter starts it.

Every action is scriptable, so you can bind it to a key:

omarchy-shell io.github.dicemans.iphone toggle
omarchy-shell io.github.dicemans.iphone openPhotos   # first paired device

Settings

Through Setup → Plugins, or on the widget's entry in ~/.config/omarchy/shell.json:

Setting Default Meaning
Refresh interval 15 s How often battery refreshes while the panel is open.
Show battery in the bar on Paint the phone's charge next to the bar icon.
Only show this device — With several iPhones, list only the one whose UDID contains this text.
Import photos into ~/Pictures/iPhone Where "Import photos" copies the camera roll.

Why USB only

An iPhone doesn't let a Linux computer read its data over WiFi or Bluetooth the way a Mac does — Apple keeps that for its own devices. WiFi shows only presence (and only while the phone is awake), and Bluetooth won't hand a computer your contacts. Rather than ship buttons that disappoint, this plugin sticks to the cable, which does the useful things reliably, first try.

Privacy & security

  • The phone is mounted in a temporary, per-user location that's wiped when you log out and is never readable by other users.
  • The only thing that ever asks for your password is the one-time setup (installing the two packages); its tooltip says exactly what it will do before you click. Browsing and importing photos need no elevation.
  • Your photos are only ever copied where you choose; nothing is uploaded anywhere.

Troubleshooting

bin/iphone-ctl is a plain script — run it in a terminal to see what's going on:

~/.config/omarchy/plugins/io.github.dicemans.iphone/bin/iphone-ctl deps
~/.config/omarchy/plugins/io.github.dicemans.iphone/bin/iphone-ctl status

License

MIT — see LICENSE.