Launcher

Work session

Custom Omarchy-adjacent helper (not part of stock Omarchy). Starts a fixed app layout for daily work.

Files

FileRole
~/.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:

  1. Bruno Special workspace scratchpad (silent)
  2. MongoDB Compass → saved connection dev (mongodb://localhost:27017/) Special workspace scratchpad (silent)
  3. Firefox Workspace 1 (silent)
  4. Cursor Agents Window (--glass -n, empty) then add ~/hailmary (-a) Workspace 1 (silent)
  5. Cursor editor (--classic -n ~/hailmary) Workspace 1 (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 for Exec and Icon; $HOME is not expanded)
  • ~/.local/bin/cursor — symlink to the AppImage so work.sh and 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/bin on PATH — 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

  1. Install the four apps using the commands in Installing the apps.
  2. Copy work.sh to ~/.local/bin/ and chmod +x it.
  3. Copy work.desktop to ~/.local/share/applications/.
  4. Ensure ~/hailmary exists (or change the Cursor path in work.sh).
  5. Ensure ~/.local/bin/cursor points at ~/applications/Cursor.AppImage.