Launcher
Work session
Custom Omarchy-adjacent helper (not part of stock Omarchy). Starts a fixed app layout for daily work.
Files
| File | Role |
|---|---|
~/.local/bin/work.sh |
Launch script |
~/.local/share/applications/work.desktop |
Walker / app-menu entry named Work |
What it does
Runs in order (1s pause after each launch). Skips any app that is already running — Bruno, Compass, and Firefox via process name; Cursor windows via Hyprland client title.
Launch order:
-
Bruno
Special workspace
scratchpad(silent) -
MongoDB Compass → saved connection
dev(mongodb://localhost:27017/) Special workspacescratchpad(silent) -
Firefox
Workspace
1(silent) -
Cursor Agents Window (
--glass -n, empty) then add~/hailmary(-a) Workspace1(silent) -
Cursor editor (
--classic -n ~/hailmary) Workspace1(silent)
Cursor quirk: cursor --glass -n ~/path is rewritten to a classic editor window. The launcher opens an empty Agents Window first (--glass -n), adds the folder with -a, then opens the editor with --classic -n.
Commented optional line (disabled):
# alacritty -e tmux new-session -A -s work on workspace 1
Installing the apps
How each Work app is installed on this machine (as of the documented versions). Prefer Omarchy’s package helpers so installs stay consistent with the rest of the system.
| App | Package | Source | Installed version |
|---|---|---|---|
| Bruno | bruno-bin |
AUR | 3.5.1-1 |
| MongoDB Compass | mongodb-compass-bin |
AUR | 1.49.11-1 |
| Firefox | firefox |
Arch extra |
151.0.2-1 |
| Cursor | Cursor.AppImage (+ Cursor.RollBack) |
~/applications |
3.12.17 |
Bruno
https://www.usebruno.com/ · binary /usr/bin/bruno
Installed from the AUR as the prebuilt bruno-bin package (provides bruno). Desktop entry: bruno.desktop.
omarchy pkg aur add bruno-bin
# equivalent: yay -S bruno-bin
Disable in-app auto-updates. Bruno ships with an Electron updater that downloads .deb files and tries to install them via pkexec when you quit — useless on Arch and it triggers a password prompt every close. Turn it off in Preferences → About → Software updates → Automatically download and install updates, or set preferences.autoupdate.downloadUpdates to false in ~/.config/bruno/preferences.json. Update via AUR instead: omarchy pkg aur add bruno-bin.
MongoDB Compass
https://www.mongodb.com/products/compass · binary /usr/bin/mongodb-compass
Installed from the AUR as mongodb-compass-bin. Desktop entry: mongodb-compass.desktop.
omarchy pkg aur add mongodb-compass-bin
# equivalent: yay -S mongodb-compass-bin
work.sh opens Compass connected to the saved favorite dev. Compass cannot open a favorite by name alone, so the script reads its URI from ~/.config/MongoDB Compass/Connections/ (matching favorite.name) and passes that on the command line:
MONGO_CONNECTION_NAME=dev
mongodb-compass mongodb://localhost:27017/ # URI from the dev favorite
If you rename the favorite or change its URI in Compass, update MONGO_CONNECTION_NAME in work.sh or adjust the connection in Compass — the script picks up URI changes automatically.
The local server is the Docker container mongo (no auth, port 27017). See Docker.
Firefox
https://www.mozilla.org/firefox/ · binary /usr/bin/firefox
Official Arch package from the extra repo. On Omarchy, the supported path is the browser installer (sets it up as a first-class browser option):
omarchy install browser firefox
# or package-only: omarchy pkg add firefox
# equivalent: sudo pacman -S firefox
Cursor
https://www.cursor.com · AppImage ~/applications/Cursor.AppImage
Installed as an AppImage (not the old cursor-bin package). Files:
~/applications/Cursor.AppImage— current binary~/applications/Cursor.RollBack— previous binary (kept by the updater)~/applications/Cursor.png— icon~/.local/share/applications/cursor.desktop— Walker / app-menu entry (use absolute paths forExecandIcon;$HOMEis not expanded)~/.local/bin/cursor— symlink to the AppImage sowork.shand the shell keep working~/update_cursor.py— downloads the latest AppImage and rotates rollback
Update with:
python3 ~/update_cursor.py
The updater deletes any existing Cursor.RollBack, moves the current Cursor.AppImage to Cursor.RollBack, installs the new download as Cursor.AppImage, and refreshes the ~/.local/bin/cursor symlink.
work.sh opens two Cursor windows on ~/hailmary:
cursor --glass -n # empty Agents Window
cursor -a ~/hailmary # add folder to that Agents Window
cursor --classic -n ~/hailmary # editor (classic IDE)
Do not combine --glass -n with a folder path — Cursor rewrites that launch to classic.
# First-time setup (or after python3 ~/update_cursor.py):
chmod +x ~/applications/Cursor.AppImage
ln -sfn ~/applications/Cursor.AppImage ~/.local/bin/cursor
# Desktop entry (absolute paths required for Icon):
cat > ~/.local/share/applications/cursor.desktop <<'EOF'
[Desktop Entry]
Name=Cursor
Comment=AI code editor
Exec=/home/sparks/applications/Cursor.AppImage %F
Type=Application
Terminal=false
Categories=Development;IDE;
StartupWMClass=Cursor
Icon=/home/sparks/applications/Cursor.png
MimeType=application/x-cursor-workspace;
EOF
update-desktop-database ~/.local/share/applications/
Install everything at once
omarchy install browser firefox
omarchy pkg aur add bruno-bin mongodb-compass-bin
# Cursor: python3 ~/update_cursor.py (or place AppImage + PNG), then desktop entry + symlink (see above)
How to run
- From Walker / app launcher: search Work
- From a terminal:
work.sh(needs~/.local/binonPATH— Omarchy’s UWSM env already adds it)
Tweak
Edit ~/.local/bin/work.sh. Hyprland dispatch form:
hyprctl dispatch exec "[workspace <id|special:name> silent] <command>"
Recreate
- Install the four apps using the commands in Installing the apps.
- Copy
work.shto~/.local/bin/andchmod +xit. - Copy
work.desktopto~/.local/share/applications/. - Ensure
~/hailmaryexists (or change the Cursor path inwork.sh). - Ensure
~/.local/bin/cursorpoints at~/applications/Cursor.AppImage.