Proton Drive for Omarchy
A native Proton Drive experience for Omarchy Quattro — available from the bar, browsable in Nautilus and designed to keep offline work safe.
Proton Drive for Omarchy is an unofficial third-party integration for Proton Drive on Omarchy Quattro. It is not affiliated with, supported by or endorsed by Proton AG or the Omarchy project.
Current status: unreleased 1.0.2 maintenance candidate. The checksummed 1.0.0 release passed clean-machine installation; these newer safety fixes still require the release acceptance and remaining real-account recovery gates. Do not use an unpublished build with important Proton Drive data.
See it in action
The Proton icon keeps account state and transfer activity one click away. Your cloud files then appear as a regular Proton Drive location in Nautilus.
<p align="center"> <img src="screenshots/screen1.png" alt="Proton Drive status card in the Omarchy bar" width="290"> <img src="screenshots/screen2.png" alt="Proton Drive mounted in Nautilus" width="650"> </p>Highlights
- Native Omarchy workflow — a compact, theme-aware bar widget with no extra launcher or menu entry.
- Familiar files experience — browse, open, create, edit, move, rename and trash files from Nautilus.
- Offline-safe changes — queued writes, revision checks and preserved conflict copies protect local work.
- Privacy by design — authentication stays in Proton’s browser flow and credentials remain in the system Secret Service.
Requirements
- Omarchy Quattro on Arch Linux;
- a dedicated Proton account for real-account testing;
- Git, Bun and
makepkgfor source installation; - the runtime dependencies declared by the Arch package: FUSE3, GNOME Desktop 4, libsecret, Nautilus and nautilus-python, python-dbus-next, python-pyfuse3 and python-trio.
The installer builds the authentication boundary from a pinned commit of Proton's official Drive CLI source. Exact source references and package versions are documented in Dependencies. Proton credentials are entered only in Proton's browser flow and are stored by the operating-system Secret Service.
Install
This integration needs a native daemon, FUSE adapter, D-Bus bridge, Nautilus extension and user services. The standard omarchy plugin add command installs only the QML frontend and is therefore not a complete installation path. The marketplace listing must use its manual-installation mode.
Review the source, then run the installer from a visible terminal so makepkg can request administrator authentication:
git clone https://github.com/placq/omarchy-proton-drive.git
cd omarchy-proton-drive
./scripts/install.sh
The installer shows its scope before making changes. It builds the pinned official CLI in a temporary directory, installs the omarchy-drive Arch package, copies the user-owned shell plugin to ~/.config/omarchy/plugins/placq.proton-drive, adds one Nautilus bookmark and enables three systemd user services. Verify the result with:
./scripts/doctor.sh
Update
Update only from a reviewed release or commit, then rerun the same installer:
git pull --ff-only
./scripts/install.sh
./scripts/doctor.sh
The installer preserves the private SQLite state, persistent staging and conflict copies.
Remove
Run the guarded uninstaller from the repository checkout:
./scripts/uninstall.sh
sudo pacman -Rns omarchy-drive
The uninstaller refuses to continue while unsynchronised or conflicted local bytes remain recoverable. It disables the services and removes the shell plugin and sidebar bookmark, but preserves persistent state/staging and never deletes remote Proton Drive data. To remove only disposable cache after the safety check, use ./scripts/uninstall.sh --remove-cache.
Do not use only omarchy plugin remove placq.proton-drive: that removes the QML frontend but leaves the native integration installed.
Usage
The product flow is centered on one compact Omarchy bar widget. After installation, the Proton icon appears in the right-hand system area, next to Agents and before Bluetooth.
Clicking the widget opens the Proton Drive status card. There is no separate Omarchy menu entry, application-launcher entry or extra keyboard shortcut for routine access.
The first-run flow is:
- Install the plugin and native integration.
- Click the Proton icon on the right side of the bar.
- Click Sign in in the panel and complete Proton authentication in the browser.
- Return to Omarchy after authentication succeeds.
- Return to the bar and see the active Proton icon.
The widget uses these status indicators:
| Bar indicator | Meaning |
|---|---|
| Dim Proton icon | Account is not configured |
| Alert-colored Proton icon | Sign-in or integration requires attention |
| Proton icon | Connected and ready |
| Proton icon with a status dot | Transfer or synchronization is active |
The status card shows account identity, remote storage usage, connection state, transfers and safe local-cache controls. Proton Drive remains available as a single Nautilus sidebar bookmark. Real cloud files can be browsed, opened, created, edited, moved, renamed and trashed. Offline edits remain staged locally and are retried after reconnect; a changed remote revision creates a preserved local conflict copy.
Cache controls
- Free local space removes clean, unpinned cache files to reclaim disk space. Files marked Always available and unsaved local changes are retained.
- Remove “Always available” files removes local copies marked for offline use and unpins them. The remote files remain in Proton Drive and unsaved, queued or conflicted local changes are retained.
Neither action deletes remote Proton Drive data.
Development
On an Omarchy Quattro test machine or VM, use --fake for the fully writable development fixture:
./scripts/dev-setup.sh
./scripts/install.sh --fake
This installs the native package, enables the fake provider, starts the user services and adds Proton Drive to the Nautilus sidebar. It never touches a real account. Run ./scripts/doctor.sh afterward.
Developer commands:
npm ci --ignore-scripts
npm test
npm run check
npm run validate
OMARCHY_DRIVE_PROVIDER=fake npm run start:fake
See architecture, D-Bus API, development guide, security model, test status, installation acceptance, and dependencies.
The guarded release-gate runners are scripts/real_account_recovery.py for the dedicated Proton account and scripts/clean-machine-acceptance.sh for a checksummed artifact on a clean Quattro machine. Their presence is not itself a passed release gate; acceptance requires the target-machine evidence described in docs/INSTALLATION-TEST.md.
What 1.0 implements
- direct
@protontech/drive-sdkdependency behind the futureProtonSdkProviderintegration seam; - real-account provider using Proton's official browser-authenticated CLI as the session and cryptography boundary;
- fake Drive provider with files, folders, revisions, events, offline failures and conflicts;
- crash-safe persistent staging outside evictable cache;
- private transactional SQLite state with automatic migration from legacy JSON;
- cloud-only, cached, pinned, downloading, uploading, dirty, queued, conflict and error states;
- revision-checked uploads and preservation of local conflict copies;
- recursive folder pinning and keep-local, keep-remote or save-both conflict resolution;
- automatic on-demand downloads, offline queued writes and LRU eviction;
- background event processing, queued-upload retry and configurable 20 GiB default cache limit;
- FUSE3 adapter for browse/open/create/write/mkdir/rename/move/trash;
- Nautilus context actions and status emblems;
- Quattro
service+bar-widgetplugin manifest and event stream; - compact, theme-aware Proton icon in the right-hand bar section as the sole Omarchy entry point;
- systemd user services, Arch packaging, safe install/uninstall and diagnostics.
Data safety
Free local space, rename, move, trash and uninstall refuse unsafe operations while a node or folder descendant has recoverable staged data. Proton credentials and raw CLI output never enter project state or logs; the official CLI stores its session in the operating-system secret service. Cache lives under $XDG_CACHE_HOME; staging and conflict copies live under $XDG_STATE_HOME with private permissions.
License
MIT. Proton and Proton Drive are trademarks of Proton AG; they are referenced only to describe interoperability. The generated marketplace preview is an original generic illustration and contains no Proton or Omarchy marks.