Syncshell shows Syncthing activity in the Omarchy bar, manages local folders and opens a redesigned Web UI. Versions >= 0.1.8 use a bundled Go core since other Linux shell adapters are planned.
These four walkthroughs cover live file activity, folder management, Web UI theming and icons, and device management.
Note
In the first two videos, the Hyprland window to the left of the plugin is not
part of the plugin. It live-tracks changes in the test-source directory for
illustration.
- select the switch in the top right to start or stop the user service
- use Folders to select a configured folder, then
- select + to configure a local directory
- use the share icon to choose which devices share it
- use the link/unlink icon to pause or resume synchronization
- select the folder icon on its card to open the directory
- use Devices to add or select a remote device and manage its shared folders
- expand More for folder errors and installation details
- select Web UI for advanced Syncthing options
- select the gear or press
sfor appearance settings and clean removal
omarchy plugin add https://github.com/omarchy-QOL/syncshell.git --enableOpen the widget and expand More. If Syncthing is missing, select Install
Syncthing to install the package and start the user service. On Omarchy, this
uses omarchy pkg add, the same mechanism that manual package installation
would normally use. Existing installations are detected automatically.
If UFW is enabled, run sudo ufw allow syncthing to allow device discovery and
synchronization.
The plugin supports Omarchy on Linux x86_64 and aarch64, including Apple Silicon
M1/M2 Macs running Omarchy. Alpha adapters for DankMaterialShell, Illogical
Impulse, Caelestia, and Waybar are under development; they are not officially
part of the release yet, but can be tested via manual installation on those
systems: see the hosts/... in the source. Daemon mode remains future work.
The plugin reports only state exposed by Syncthing:
- Blue identifies synchronization or an indexed addition.
- Red identifies an indexed entry with
deleted=true. - Green identifies remote download progress, which is an upload from this device.
Syncthing does not expose a reliable source-to-destination relationship for a rename or move, so the plugin does not guess one from nearby additions and deletions.
Also shown in the panel footer.
| Key | Action |
|---|---|
r |
rescan all folders |
w |
open the Web UI |
p |
start or stop the service |
s |
open plugin settings |
q/esc |
close the panel |
Settings opens ~/.config/omarchy/ilyazar.syncthing/settings.toml in your
editor. Saves are validated; invalid edits show an error and leave the session's
last valid settings active.
Older settings offer Auto-port, Manual port and Cancel. Auto-port
previews the migration to schema 2, preserves valid preferences and comments,
and keeps an exact backup beside the original. Unrecognized or invalid settings
need manual correction.
style.icon_style = "themed"follows the bar foreground. Use"branded"for the classic Syncthing icon.style.web_ui_theme = "default"uses Syncthing's own Web UI.style.web_ui_theme = "modern"uses the bundled Syncshell Web UI.style.web_ui_theme = "omarchy"applies the Omarchy palette to that same UI. This is the default.
Omarchy theme changes apply live. Reload the page when switching Web UI
profiles; modern keeps its own appearance.
The web UI is independently developed as a self-contained interface under syncshell-webui. A bundled version is shipped with this plugin. It keeps Syncthing's API and adds a modern look and cosmetic changes over the classical interface:
- Clearer layout: folders, this device and remote devices sit alongside each other on wide screens and stack on smaller ones. Current activity stays visible; configuration and identification details fold away. Compact counts and icon tooltips keep the cards readable.
- Resolve sync conflicts (beta): the second tab lists conflict files from Syncthing's index, with folder and global rechecks. File links open the containing folder in your default file manager. Autoresolve restores a conflict file's original name when that name is absent, preserving contents.
- Notifications: a separate tab shows pending messages. Its dot follows the highest severity and disappears when all messages are resolved.
- Smaller frontend: The low-overhead and minimalist Preact replaces AngularJS, whose support ended in 2022 and removes most of the old JavaScript widget libraries.
Compared with the default Web UI shipped with Syncthing v2.1.3:
| Measure | Syncthing v2.1.3 | Syncshell | Reduction |
|---|---|---|---|
| Application source (LOC) | 8,296 | 4,299 | 48% |
| Readable source + vendor (LOC) | 53,096 | 9,885 | 81% |
| HTML/CSS/JS assets | 2.79 MB | 0.33 MB | 88% |
| Whole Web UI assets | 6.58 MB | 0.48 MB | 93% |
Three Syncshell views in Nord, followed by Syncthing's default UI. The file review is in beta, but should work more or less.
|
|
|
|
Open the UI through the plugin's Web UI button to enable local file opening and renaming. These actions require Syncthing and the desktop to run as the same user. Containers, tunnels, relative paths and symlinked paths are unsupported for file actions; permission errors leave files unchanged. Discovery and rechecks remain available without desktop access. Reopen through the plugin after its core restarts.
For issue submission regarding the new web UI please refer to its GitHub repo issue section under issues (licensing details are recorded in Syncshell Web provenance).
- The link/unlink icon resumes or pauses a folder without changing its path or sharing.
- FORGET removes an unlinked folder's configuration, keeping its files.
- + adds a local folder with a generated Folder ID. Missing directories require confirmation; overlapping paths are rejected. Select devices to share with, or leave it local only.
- Under Folders, use the share icon to choose the selected folder's devices.
- Under Devices, use the folder icon to review or remove existing shares.
Incoming unencrypted folder offers can fill in the setup form for you. Shared folders need the same Folder ID on every device, so accept an offer rather than generate a new ID. For encrypted sharing, untrusted devices, or more advanced options, use the Web UI. See Syncthing's folder guide for more on setting up shared folders.
See CHANGELOG.md for details.
| Release | Date | What changed |
|---|---|---|
| Future | TBD | mature alpha DMS, II, Caelestia, and Waybar adapters |
| 0.2.0 | 2026-10-05 | improve multi-folder navigation, search, and filtering |
| bundle Web UI 0.1.4 with improved theme handling | ||
| support Apple Silicon Macs running Omarchy Linux | ||
| add anchored side forms and keyboard navigation | ||
| clarify statuses and restore bar hover tooltips | ||
| refresh the preview and all four demo videos | ||
| 0.1.9 | 2026-09-21 | add remote-device setup and folder-sharing controls |
| confirm directory creation and folder/device removal | ||
| fix remote counts and keep rescan controls consistent | ||
| refine dropdowns, status, and installation feedback | ||
| allow plugin removal while Syncthing is unavailable | ||
| 0.1.8 | 2026-09-13 | use one native core for the Omarchy panel |
| support healthy externally managed Syncthing instances | ||
| add the Preact Web UI and settings migration | ||
| add conflict review (beta) and guarded file renaming | ||
| improve error details, rescan feedback and recovery | ||
| fix themed icon contrast, scaling and Web UI branding | ||
| 0.1.7 | 2026-08-31 | fix persistent service-state reconciliation |
| UI/UX: clear semantics on buttons, harmonize font size | ||
| 0.1.6 | 2026-08-22 | make live and indexed file activity accurate |
| refine folder lifecycle controls and pending offers | ||
| add versioned icon and live Web UI theme settings | ||
| refresh the preview and add four focused demo videos | ||
| 0.1.5 | 2026-08-20 | add an optional theme-colored bar icon |
| 0.1.4 | 2026-08-16 | support TLS-enabled local Syncthing APIs |
| 0.1.3 | 2026-08-15 | add a demo video and improve the documentation |
| 0.1.2 | 2026-08-15 | manage Syncthing folders from the bar panel |
| 0.1.1 | 2026-08-14 | monitor installs and show live synchronization activity |
| 0.1.0 | 2026-08-12 | first release |
Update through Omarchy, then restart the shell to load the updated plugin:
omarchy plugin update io.github.ilyazar.syncthing
omarchy-restart-shellRestart the shell after updating; the retained old service may otherwise fail.
Select Cleanly remove Syncthing plugin in settings. You can keep or delete plugin settings. When Syncthing is reachable, both choices restore its default UI and remove the custom Web UI profiles. Otherwise those profiles are retained so removal never guesses their location. Syncthing itself, its configuration and synced files remain intact.
To uninstall Syncthing separately:
systemctl --user disable --now syncthing.service
omarchy pkg drop syncthingThese commands leave Syncthing configuration and synchronized files intact.
The plugin runs as unsandboxed code under your desktop user. The Go core keeps the Syncthing API key out of QML and plugin settings; that key permits changes to Syncthing's configuration. File actions use your existing permissions.
Plugin code is MIT licensed. The Web UI and adapted icons retain Syncthing's MPL-2.0 attribution and vendor licenses; see Web UI provenance and icon sources. The Go runtime and system-call dependency use the BSD license.
